GithubHelp home page GithubHelp logo

dfs-minded / indexer-plus-plus Goto Github PK

View Code? Open in Web Editor NEW
65.0 9.0 11.0 8.38 MB

Indexer++ official repository

License: MIT License

C++ 92.20% C 0.69% C# 6.58% Batchfile 0.10% NSIS 0.36% Python 0.07%
filesystem filesystem-events ntfs windows utility-application admin-panel files-management

indexer-plus-plus's Introduction

What is Indexer++ ?

MIT licensed

Indexer++ is an open-source desktop files and folders search utility. It is a Windows search replacement which is faster, supports entire file system search, filters and more. The Core search engine is written on C++ 11, uses Win API and STL, which ensures high speed and saves memory. Indexer++ directly reads and parses the NTFS filesystem master files table.

You can search your files using a command-line as well. ifind (Indexer++ find) implements a subset of the options of the Linux find command, so for Linux users it is easy to start right away. For those, who are not familiar with find command here is options description with some examples.

Documentation

Brief General Design Doc.

To build Indexer++ from source

Sources can be built using Visual Studio 17, .NET Framework 4.0. Suggested target platform is x86.

IndexerGUI project has a dependency on a "Hardcodet.NotifyIcon.Wpf" which can be installed using NuGet package manager in Visual Studio.

Please read the CONTRIBUTING.md for details on how to contribute to this project.

Indexer++ regex feature powered by RE2 regular expression engine.

Links

See the Indexer++ official site for more information. For bugs and feature requests relay to https://github.com/dfs-minded/indexer-plus-plus/issues.

indexer-plus-plus's People

Contributors

dfs-minded avatar stateford avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

indexer-plus-plus's Issues

Add CI and automated Code Metric Tools

I think it would be a good idea to some CI with appveyor and code metric tools with codefactor.

Both are free for open source projects, and will have additional checks when a PR is made, and can automatically deploy to releases when a tag is pushed to master.

Crash on "Save as..."

When saving files, during formatting the output result, some files seems to be already deleted, which causes the crash while trying to access them.

Save as HTML

Currently search results can be saved as TXT and CSV files. I would appreciate an option to save search results as HTML file.

Open by default in the taskbar notification area

When starting windows the window opens on the desktop, it would be better if it opened by default in the taskbar notification area.

Thanks for this application, I hope to be able to replace soon "everything" by voidtools which is super efficient but not opensource unfortunately.

Discover and index network folders

The user should be able to select in GUI to index discovered network drives.

There might be issues with permissions: to access MFT you need administrative rights on that machine, so maybe also give a hint to the user if they do not have permissions for that.

One more question to address is how to listen to the update journal events (maybe easy, but maybe will need some workaround to fetch the updates).

Crash on right-click

When I right-click on a file/folder in Indexer++ 0.5 Beta the program immediately crashes, screen:

indexer 0 5 beta - 2018-03-28 - error - 001

This happens under Windows 8 x64.

If it can be pf any help I can provide crash dump (.dmp) files.

Crash if UserSettings.xml is missing

If configuration file UserSettings.xml is missing Indexer++ crashes. I suggest that if UserSettings.xml is not to be found in program folder for some reason (deleted accidentally for example), Indexer++ should be able to re-create it automatically in stead of crashing.

Save window position

Currently Indexer++ (as of version 0.5 Beta) saves window size but does not save window position on desktop so the users needs to reposition it manually after program restart. Please add an option in settings file (UserSettings.xml) to save window position on desktop.

Program settings

Currently (as of version 0.5 Beta) some Indexer++ settings can be chosen only during installation:

  • Autorun on Startup
  • Context Menu Entry
  • Add to PATH variable for Current User
  • Add to PATH variable for local machine
  • Desktop Shortcut

It would be more convenient if in stead of re-installing the program there is Settings menu (perhaps between Filters and Help menus) where the user could toggle on/off autostart/context menu integration, etc. Some additional options may be added in the future.

Compilation with /clr or /clr:pure

Find all forward declarations from std namespace (which can lead to undefined behavior) and replace these classes with custom wrappers (like std::mutex and std::thread) in the same way you did with std::atomic in IndexManager.h

Turkish character problem

Hello. Thanks for the software.

In Turkish, i and İ are not different. It gives different results.

26-23-25-24
26-23-25-16

Backslash

This command:

ifind / -iname "*.mp3" -fprintf C:\Results.txt %h%%p

is giving me an extra '%' character in every occurrence. What I´m doing wrong?

TY

Finish implementation of file thumbnails.

Reimplement functionality of icons view.
Show only first 1000 results (consider may be a reduction to 500 for machines with operating memory less than 2 GB).
As a mitigation, do not update UI when filesystem changes.

Embed icon into the executable

It seems that the icon is not embedded into the executable (Indexer++ Beta.exe), screen:

indexer 0 5 beta - 2018-03-28 - 002

When "Desktop Shortcut" option is not chosen on program installation the user needs to manually change the program icon.

Data races in IndexManager

ReadingMFTFinished and DisableIndexRequested in IndexManager must be atomic to prevent data races issues. Implement pImpl idiom on IndexManager, to hide usage of atomic, which is not compiling with /clr. (And remove that unnecessary volatile!)

Portable version

Please consider releasing a native portable version of Indexer++. I supose that it would be easy since it seems that Indexer++ is portable by design- program settings are saved in UserSettings.xml file inside program folder. Currently the user need to extract the installer (Indexer++ Beta Installer.exe) to avoid installation.

multiple file selection

is it possible to have this functioning? i can't actually select and operate on more than one file per time...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.