2014-01-06

Ever since Windows 8 got released, Classic Shell saw a massive boost in popularity as the most premier yet free Start Menu replacement. For those who don't know, Classic Shell is a free project with the goal to restore removed features in Windows - those features whose loss made Windows usability and productivity worse. Classic Shell began in the Windows 7 era (yes you read that right!), it existed much earlier than Windows 8.

The Start Menu is the crown jewel of the Classic Shell project, but it's much more than that. It includes many additions and tweaks for Windows Explorer as well as some IE features. Moreover, every feature in Classic Shell can be turned off if you don't need it. When the project started in 2009, it focused on restoring the real classic cascading style menu that got removed in Windows 7. Over time, the project has flourished, grown in popularity and evolved to become a must-have application if you are a Windows power user who loves customization.

Although Classic Shell is a suite of customizable Windows features, today, I want to talk about the search capabilities of its Start Menu and demonstrate what its search box is capable of and how it can boost your productivity.

When you first install Classic Shell 4, and pick either the 'Classic with two columns style' or the Windows 7 style, then by default, the search box is focused and you can just start typing immediately to find and launch anything exactly like the Windows 7/Vista Start Menu. Search options are highly customizable - in Settings, go to the Search Box tab. Here you can set if the search box is selected by default, what it searches and a couple of other options as shown in the screenshot below:



Classic Shell Start Menu search settings

The search box is incredibly powerful because it has Windows Search integration. You can even use standard keyboard shortcuts like Alt+Enter to open the Properties of any search result or Ctrl+Shift+Enter to open any search result as administrator. If you want to locate where an item is located, simply right click any search result and click "Explore".

Tip: To increase the icon size of search results (for example, if you are using a touch screen), go to "Menu Look" tab in Classic Start Menu settings and change the "Small icon size" from 16 to any suitable size you want such as 20 or 24. Then exit Classic Start Menu by right clicking the Start button and start it again from C:\Program Files\Classic Shell\ClassicStartMenu.exe.

What Classic Shell's search box lets you find:

1. Programs and Apps: The search finds program shortcuts (*.lnk files) from Start Menu folders (there are 2 of them - one at %appdata%\Microsoft\Windows\Start Menu and the other at %programdata%\Microsoft\Windows\Start Menu). Additionally, on Windows 8, Modern app shortcuts are also searched which are stored at %localappdata%\Microsoft\Windows\Application Shortcuts. The cool thing is even if Windows Search indexing is turned off, programs will be searched.



Search programs, apps, settings and files

If you want your own shortcuts (links) to portable apps to be searched, copy-paste the shortcuts inside the Start Menu or Programs folders. The search box tracks how many times which program was launched so frequently launched shortcuts rise to the top of the results.

2. Program executables in your system path: The search box is capable of searching executable files (*.EXE, *.MSC) from folders included in system PATH environment variable. By default, the folders included in your system path are C:\Windows and C:\Windows\system32. If you have many portable apps, you may want the ability to search them without creating a shortcut to them. To add any folder you want to the system PATH, type SystemPropertiesAdvanced into the search box -> the click Environment Variables. Under System variables, edit the value of 'Path', add a \; after the last path and add your folder there. For example, if 'Variable value' is already:

...%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

then modify it to be

...%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Your Folder\

This will add the folder to the system path and EXE files from it will be searched. Note that this feature also does not depend on Windows Search indexing.



Path search feature of the Classic Start Menu

Lastly, you can also run programs defined in the "App Paths" registry key at: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths. For example, typing 'wmplayer' will open Windows Media Explorer because it is defined in App Paths. App Paths is a key where Microsoft recommends that you register applications.

3. Windows Settings: The search box can search the Control Panel folders (there are also 2 settings folders - one which has a list of all the Control Panel applets and the other which has long textual descriptions of all settings called All Tasks (shell:::{ED7BA470-8E54-465E-825C-99712043E01C}). This is the so called "GodMode" folder which also has a long list of keywords associated with each setting. Classic Shell's Start Menu also searches these keywords resulting in a very comprehensive ability to find any setting on your computer.

Start Menu searches settings and their keywords

The settings are also searched even if Windows Search indexing service is turned off.

4. Indexed Files: The search box shows results from the Windows Search index as well. This includes any file extension that Windows Search is capable of indexing and any folder which is included in the "Indexing Options" Control Panel. Classic Start Menu's file search depends entirely on Windows indexing. If you stop the search service, programs and settings search will continue to work but file search will not. To change which folders are indexed, open Indexing Options -> click Modify and add or remove locations.

You can include any important folders which you feel should be indexed. For example, on Windows 8, recent documents are not indexed by default but you can add C:\Users\<your user name>\AppData\Roaming\Microsoft\Windows\Recent folder to the Indexing Options Control Panel so your recently opened documents are always indexed.

Indexing Options let you configure which locations and file extensions are indexed, and whether their full contents are indexed or only properties

To change which file extensions are indexed and configure whether only the metadata/properties for those file extensions are indexed or also their contents, click the Advanced button.

To turn off indexing the contents of a specific file in some folder, open its Properties, on the General tab, click Advanced and uncheck the option "Allow this file to have contents indexed in addition to file properties". This checkbox toggles the 'index' attribute for a file, so you can opt out of indexing the contents of a specific file.

To include or exclude a single file from indexing, set its Index attribute

Also, all local folders and files included in Windows Libraries are always indexed and searched. File search can search your emails (Windows Mail, Live Mail, Microsoft Outlook and the Windows 8 Mail app) as long as the folders containing email (*.eml files) are indexed by Windows Search, or in case of in case of Outlook, the protocol handler is installed.

Understand Windows IFilters and Property Handlers and how they extend your system's ability to search:

Windows Search is capable of indexing not just the file name but also the metadata/properties of files (in case of pictures, videos, documents etc) and their full contents (when the documents are not plain-text but in some binary format such as DOC or PDF). For Windows Search to be able to index the full contents and properties, you need to install either iFilters, protocol handlers and/or property handlers. Some programs like Microsoft Office automatically install iFilters as well as property handlers to index the contents and properties of the file types they handle. To search inside formats such as ZIP, RAR, CHM, HLP, CAB, PDF, you need to install additional free iFilters. Think of iFilters as search plugins which can extend the ability of your system to index and search the full content of binary file types. Similarly, to index and search the properties of many more file formats, you need to install property handlers. Property handlers tell Explorer more about a file type and allow it to show that information in the Details pane and other locations. For example, for Explorer to identify .FLV or .MKV as a video file type, you need a property handler for those formats.

Windows Search also supports search protocol handlers so for applications which use their own database formats such as Microsoft Office Outlook, Mozilla Thunderbird, Internet Explorer History, Lotus Notes etc, you need to install them too. Some protocol handlers are already pre-installed with Windows such as the ones for Sticky Notes, Offline Files and RSS feeds platform. Others such as Outlook are installed with Microsoft Office.

Microsoft Office IFilters can be downloaded from here: http://www.microsoft.com/en-us/download/details.aspx?id=17062 (allowing indexing of Word, Excel, PowerPoint, OneNote, Publisher and Visio files)

You can download free iFilters for more formats from http://www.ifiltershop.com/. IFiltershop has free IFilters for CHM (Compiled HTML Help), DWF/DWG (AutoDesk formats), RAR, StarOffice/OpenOffice, ZIP and also notably, an XMP IFilter to index the XMP metadata of JPEG, PNG, GIF, PSD, AI, PS/EPS, SVG and AVI files.

The File Types tab of Advanced Indexing Options of Windows shows you which IFilters are installed. If some IFilter is already installed and correctly registered on your system to search the contents of some binary file type, the Advanced tab will show it. If you want some file extension to be indexed which you know is plain text (plain text files are ones which can be edited in Notepad), then just select that extension and choose Index Properties and File Contents. If that extension isn't in the list, add it and configure it to index contents.

File Types and their associated filters in Advanced Indexing Options

As for property handlers, they are shipped with various desktop programs. Windows itself includes property handlers out-of-the-box for system files such as .EXE, .DLL, .LNK, .OCX, Font files (.TTF, .OTF), .Library-ms, .search-ms, .URL (Favorites), .EML (E-mail), common image formats (.JPG, .PNG, .BMP, .GIF), .XPS, a large number of media file formats (MP3, WMA, WMV, ASF, MPG, MP4, WAV, AVI, ADTS etc), and OLE compound documents (MSI, MSP, MSM, MST, PCP). Here is a comprehensive list of other desktop programs which install their own property handlers:

●  Microsoft Office (commercial) includes property handlers for its formats.

●  Microsoft Camera Codec Pack (free) installs property handlers for RAW image formats.

●  AudioShell 2.0 (free) installs property handlers for audio formats (3GP, AIF, AIFF, APE, ASF*, DSF, FLAC, M4A, M4B, M4P, M4V*, MP+, MP1, MP2, MP3, MP4*, MPC, OFR, OFS, OGG, SPX TTA, WAV*, WMA, WMV*, WV)

●  Icaros (free) installs property handlers for some audio and video formats (MKA, MKV, OGG/OGV/OGM*, FLV, RM, AVI/DIVX, *APE, FLAC*, MPC*)

●  dbPowerAmp Music Converter (commercial but shell integration is free) installs property handlers for audio formats (AAC, AIF, AIFC, AIFF, APE, *ASF, ASX, BWF, CDA, M2A, M4A, M4B, MID, *MKV, *MOV, *MP4, MP1, MP2, MP3, MPA, *MPEG, *MPG, OGG*, WAV, WMA *WMV)

●  SageThumbs (free) and MysticThumbs (commercial) install property handlers for many image formats

●  PDF-XChange Viewer installs a property handler and IFilter for PDF files

●  Property handler and IFilter for DjVu

●  Property handler for MOBI/AZW/PRC ebooks

●  File Meta (http://filemeta.codeplex.com/) exposes the NTFS Alternate Data Stream of a file which contains summary info as a Windows Search property. For any file format which doesn't have a property handler, you can associate it with File Metadata's property handler so that the information in the file type's Summary stream can be indexed and searched by Windows Search.

IFilters allow indexing full contents, Property handlers allow indexing metadata properties

The more iFilters and property handlers you have installed, the more powerful Classic Shell's Search box gets. For 64-bit Windows, you must install 64-bit iFilters and 64-bit property handlers, 32-bit iFilters and property handlers will not work on 64-bit Windows.

If a particular file type has both an IFilter as well as a Property handler, then Windows Search's database will contain data extracted from both of them.

Tip: You can see which IFilters you have installed using NirSoft's SearchFilterView. SearchFilterView can also be used to register new file extensions with IFilters installed on your system or change IFilters registered for a file type, for example, for a file extension such as .XML) Windows uses the XML IFilter but you may want to associate it with the plain-text filter. Installed property handlers can be viewed using Nirsoft ShellExView or directly in the Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers.

Power user features of Classic Start Menu's search:

●  See results in place: You can press Enter on each category header of search results to expand it and see more results. Press Enter again to un-expand that category. Click on the category name (e.g. Documents, Music) or press Ctrl+Enter to show all results in File Explorer.

Expand categories by pressing Enter, press Ctrl+Enter to open results in Explorer

●  Auto-complete: You can type paths into the search box like the Run dialog. For example, C:\Program Files or \\Windows-PC\ . It has auto-complete functionality.

Browse files using autocomplete

●  Substring matches: Classic Shell's search box supports partial word matches. So you can type: torrent instead of µTorrent. Or RAR instead of WinRAR, Fox instead of Firefox. Or you can type the beginning few letters of each word: e.g. w m p for Windows Media Player, or rem conn for Remote Desktop Connection.

The Start Menu does substring matches if 'Match parts of words' setting is on

●  Wildcard filtering: The search box supports wildcard filtering so you could also type this into the Start Menu's search box: C:\YourFolderContainingEXEs\*.exe or C:\YourFolderContainingEXEs\w*.dll and so on. You can also use environment variables. e.g. %tmp%\*.log or %windir%\system32\*.msc

Filtering files by extension in a specific path

●  Web search: You can type anything into the search box and then select "Search the internet". This opens your default web browser and performs a web search.

Searching with the Advanced Query Syntax:

The Classic Shell 4.0 Start Menu supports the same powerful Advanced Query Syntax (AQS) that Windows Explorer search supports. Unfortunately, the main problem with the AQS is that it's too exhaustive and complex to remember. Here are some of the useful properties you may want to use to search in the Start Menu:

For searching generic files:

You can either type the name directly or use boolean operators such as AND, OR and NOT (must be used in UPPERCASE).

Use:

NOT or use the minus sign (—) to exclude items (e.g #1):  *.jpg -Nature,  (e.g. #2): kind:music NOT:*.wav

OR for results matching X OR Y (e.g. Windows 7 OR 8)

AND for both (e.g. Windows 7 AND 8)

Enclose results in double quotes for exact phrase search (e.g. "Classic Shell")

or filter by any of these properties:

size:empty,tiny,small,medium,large,huge,gigantic

size:<=5MB

size:>=300MB

Type size:gigantic to find all large files from your indexed files.

kind:contacts, email, im, docs, music, song, playlist, pics, pictures, videos, movie, folders, tasks, notes, calendar, programs, link, tv, journal, feed

type:

contenttype:

ext:

folder:

folderpath:

keywords:

tags:

attributes:

owner:

EncryptionStatus:Encrypted/Unencrypted

IsEncrypted:Encrypted/Unencrypted

url:

Date-related properties:

before:MM/dd/yyyy

after:MM/dd/yyyy

date:today, yesterday, thisweek, lastweek, thismonth, lastmonth, thisyear, lastyear

date:Sunday

date:January

modified:last week

created:

accessed:

Documents:

author: or authors:

title:

subject:

lastsavedby:

comments:

slides:

lastprinted:

CharacterCount:

lastsaved:

LineCount:

Pages:

ParagraphCount:

WordCount:

Protected:No/Yes

Search only for documents modified in the past week

Music:

album:

genre:

bitrate:>128kbps

duration:0:00

length:

year:>1977

track:10

lyrics:

rating:

composer:

conductor:

Contacts:

birthday:tomorrow

anniversary:yesterday

Pictures:

orientation:landscape

cameramake:

datetaken:MM/dd/yyyy

dimensions:8x10

width:1600

height:1200

Bitdepth:

Compression:

HorizontalResolution:

VerticalResolution:

Aperture:

MaxAperture:

CameraModel:

DigitalZoom:

FlashMode:

ExposureTime:

ExposureBias:

Lightsource:

FocalLength:

ISOSpeed:

MeteringMode:

PeopleTags:

ShutterSpeed:

WhiteBalance:

ExposureProgram:

F-Stop:

ProgramMode:

Saturation:

Finding photos by camera manufacturer

Videos:

EncodedBy:

Video Compression:

Director:

DataRate:

FourCC:

Frameheight:

Framewidth:

framerate:

TotalBitrate:

Programs:

Program:

company:

copyright:

programname:

linktarget:

Email:

hasattachment:no/yes

is:attachment

attachment:

importance:high/normal/low

from:

to:

cc:

bcc:

isdeleted:no/yes

title:

hasflag:no/yes

isread:read/unread

This is not a complete list of properties. For a more thorough list, see this page.

Search providers (Classic styles of the Start Menu only):

The classic styles of the Start Menu allow you to register additional "search providers", which you can use to pass on the text you type into the search box to other programs. This can be any program that accepts text at the command line - your favorite desktop search tool or even web search. This search provider functionality can be a good replacement for the dedicated Search box which was removed in Internet Explorer 9 and up. Search providers are defined by adding sub-items for the Search box from the Customize Start Menu tab: This can be explained better with an example for the excellent search tool called "Everything".

For example, to create a search provider for Everything:

●  Go to the Customize Start Menu tab in Classic Start Menu settings (Classic style only).

●  Insert a custom item as a subitem for the search box (Custom is the last item in the right column). Dragging the custom item over the Search box in the left column.

●  Double click this custom item to edit it and in the Command field, type:

"C:\Program Files\Everything\Everything.exe" -search "%1"

●  Give it a name (Label), icon and tip if you want. Click OK twice to save all settings.

The result will be what the screenshot below shows:

Now when you type something in the Classic Start Menu search box, and click "Search using Everything", it will pass on the search box's contents to a new window in Everything. If you set the Label to something like "Search using &Everything" then pressing Alt+E will directly pass it to Everything. The ampersand ('&') defines the keyboard shortcut. %1 is replaced by the contents of the search box. If you use %2 it will be replaced by the url-style encoded search text.

Here are a few examples:

●  Search with Agent Ransack: "C:\Program Files\Agent Ransack\AgentRansack.exe" -r -f "%1"

●  Search with Everything: "C:\Program Files\Everything\Everything.exe" -search "%1"

●  Search with Google: http://www.google.com/#q=%2

●  Search with Bing: http://www.bing.com/search?q=%2

●  Search with Google and directly open the first search result (as if you pressed the button "I'm Feeling Lucky"): http://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=%2

●  Search Google Images directly from Start Menu: http://images.google.com/images?q=%2&ie=UTF-8&oe=UTF-8&hl=en

●  Search Wikipedia directly from the Start Menu: http://en.wikipedia.org/w/index.php?title=Special:Search&search=%2

●  Search Google News directly from the Start Menu: http://www.google.com/search?tbm=nws&q=%2

●  Search only English pages on Google: http://www.google.com/search?hl=en&as_qdr=all&q=%2&btnG=Search&lr=lang_en

It's like you almost got back your lost Internet Explorer Search box back.

Note that by default, in the single column 'Classic style' of the Start Menu, the search box isn't focused so keyboard accelerators can be used. You need to press Tab to focus on the search box although this can be changed from the "Search Box" tab in Start Menu settings. When the setting "Access normally" is selected and the "Selected by default" option is checked, the search box will be focused when you press the Win key.

Well if you read the entire tl;dr article, you will realize that the Classic Shell Start Menu search box is very powerful and can be used to find and launch anything. If you have any questions about search, feel free to ask.

Show more