Another tool designed to help you survive in the windows world
View Demo
·
Report Bug
·
Request Feature
The windows explorer is not a simple
piece of software built by Microsoft. It is rather a quite complicated system that includes the tools and exposes the interfaces required so as to make development and integration a not that hard of a process. All that is required is access to documentation and code samples that /lead the way/. With that knowledge at hand the explorer is as customizable as it could be - to some extent - of course.
The IFilterShellView
is an extension built for the windows explorer that improves the searching experience and allows a broad spectrum of actions to be performed on the filtered folders and files. The following methods of filtering items are suported at the time:
- Via text placement (e.g in the beggining or ending or in the middle of the text)
- Via regular expresion
- Via parsed command that supports filtering via attributes (e.g dates, size, type, extension, ...) as well as the above
The methods can be extended and will be in the future with your support and feedback. The plugin extends the normal behaviour of the windows explorer and minimizes the time you would usually spend searching for items. Moreover it is built using controls that feel native to the windows ecosistem and integrate with the current installed theme. It is a theme aware project which means you don't have to worry for a bright light during the night.
To install the latest version of the plugin IFilterShellView
you have to download the latest binaries from the release page and install them. You can choose to either download the installer or download the portable version.
After the intallation is complete, run the recently installed image named distinctively IFilterShellView.exe
. It can be found inside the installation folder (either the default one or the one set by you during the installation).
To /summon/
the instance of IFilterShellView
- Bring forward a new explorer window and navigate to a folder populated with items.
- Press the hotkey
CTRL+F
. A nice window should popup on top of the explorer window.
IFilterShellView
can only filter through items that have a physical corespondent on the disk. In other words you cannot filter through elements of a virtual folder inside the namespace such as My Computer
or This PC
or Control Panel
etc.
With the IFilterShellView
filter window now open, start typing a search query inside the text input and results with matched data will start showing up. As an item is matched against your search query, it is automatically selected inside the explorer window. That means that after the searching is done you can move/copy/rename all the selected items from the explorer window.
Example of a search query: In the image above you can observe the results of a search query.
Actions that can be performed on a query result item:
- Hovering an item will bring forward an accesibility panel on the right hand side. Multiple actions (i.e delete, invoke context menu, ...) can be performed.
Left clicking a folder
- makes the explorer window navigate to the selected item. The window's opacity will be decreased allowing you to observe at a glance some of the files inside the folder. On mouse move the window will regain it's original visibility. To navigate back to the parent folder, click the third button found in the toolbar (right next to the filter textbox) or click theXButton1
mouse button (i.e the first extended mouse button).Selecting and dragging
a file item to another window performs adrag-and-drop
to the target window.
If a text placement query or a regex query won't help you, then you can invoke the xpress parser
via the command symbol ?
. When the parser encounters that symbol it will know that the query that follows will be a special command.
To obtain the list of available commands installed with the binary, click on the button Show list of available commands
that can be found inside the far-right command bar.
Example of a command query
? older 10/10/2022
# or
? older 10/10/2022 & newer 5/5/2015 # older that X date and newer than Y date
# or
? o 10/10/2022 & n 5/5/2015 | ( start "Test" ) # notice that "o" is an alias for the "older" command
# or
? o 10/10/2022 & n 5/5/2015 | ( s "Test" ) & file # notice that "s" is an alias for the "start"-with command
# or
? o 10/10/2022 & n 5/5/2015 | s Test & file # if the argument won't contain white spaces then quotes are not necesary
# or
? o 2022 & size > 5 # dates can be YYYY only too; this translates to: all items older than 2022 and whose size is greater that 5 MB
# or
? cs & c "zwm cl" & f & ext ".exe" # translates to: search `case sensitive (cs)` all where item `contains` string "zwm cl" and is of type `file` and ends with string ".exe"
# or
? in 2017 # select all items created in year 2017
# or
? bet 2011 2018 # select all items created between 2011 and 2018
# or
? bet 15/10/2011 20/4/2012 # select all items created between the expanded dates given
# or any other combination
Notes:
- If you don't specify a logical grouping then the conditions will be parsed in the order they appear in.
- By default all command related string comparison is case insensitive. If you want to execute a case sensitive query then invoke the command
cs
as seen in the examples above. - An argument must be specified between quotes only if it includes whitespaces. For example the following path C:\Program Files must be specified between quotes.
- Press anywhere outside the filter window (or lose focus) to close/hide it.
- Press
[Escape]
in order to close/hide the window.
Bellow you can see the steps required to get the code on your machine and get it running
- Clone the repository
git clone https://github.com/Aeindus/IFilterShellView.git
- Browse to the solution
cd IFilterShellView
- Run
ExplorerFilter.sln
to start the project
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GPL-2.0 License. See LICENSE.txt
for more information.
Aiendus - [email protected] Project Link: https://github.com/Aeindus/IFilterShellView
Note 1: This is a free and opensource project. Consider a donation to suport this project.
Note 2: If you intend to create a similar project or to modify this one - with the purpose of obtaining profit - then leave me a message.
Note 3: If someone decides to deprecate this project and add it as an extension for the PowerToys app, then it'd be nice if I'd be contacted too.
List of resources that I found helpful and would like to give credit to. I've included a few of my favorites to kick things off!