Skip to content

Pixel-Master/File-Find

Repository files navigation

File Find

A file search utility that helps you find files easier.

Completely open-source and free. By Pixel-Master

File Find build GPLv3 License GitLab last commit GitHub stars GitLab forks

Links: GitHub, Website

https://github.com/Pixel-Master/File-Find

Content

Download

File Find isn't ready for Release yet Run from source or download pre-build macOS, Windows or Linux Apps from the GitHub action Page.

Features

Search options

  • Basic

    • Name: Input needs to match the name of a file exactly, ignoring case. Also supports unix shell-style wildcards, which are not the same as regular expressions (also ignoring case).
    • Name contains: The name of a file must contain input, ignoring case.
    • File Type: Select groups of files types that should be included in search results.
    • Directory: The directory tree to search in. Excluding subdirectory content is currently not possibly
  • Properties

    • File contains: Allows you to search in files. Input must be in the file content. This option can take really long. Your input is case-sensitive.
    • Date created and modified: Specify a date range for the date the file has been created / modified, leave at default to ignore.
    • File size: Input specifies file size in a range from min to max. Select the unit (Byte, Megabyte, Gigabyte...) on the right. Select "No Limit" to only set a minimum or maximum value.
  • Advanced

    • Search in system files: Toggle to include files in the system and library folders.
    • File extension: Input needs to match the file extension (file type) without the ".", ignoring case.
    • Only search for folders or files: Toggle to only include folders or files in the search results.
  • Sorting

    • None (fastest)
    • File size
    • File name
    • Date modified
    • Date created
    • Path
    • Reverse Sort: Reverse the sorted search results.

Dark / Light mode

Other

  • Export search results as a plain text file (.txt) or as a reloadable File Find Search (.FFSearch)

  • Compare two searches and search for differences

Building from source

Note:

File Find works on Linux or Windows, but currently only in beta. Please report any errory.

Dependencies for building

Building

On macOS

  1. Install Python:

    Download the installer: here or use

    Homebrew: brew install python@3.11

  2. Clone the File Find repository: git clone https://github.com/Pixel-Master/File-Find.git

  3. cd into the repository: cd File-Find

  4. Create a virtual environment:

    1. Create: python3 -m venv ./venv
    2. Activate the virtual environment: source venv/bin/activate
  5. Install dependencies: pip3 install -r requirements.txt

  6. Build using:

python3 build.py

On Linux

  1. Install Python:

    With your favourite packet-manager

    E.g.: sudo apt install python3.11

  2. Clone the File Find repository with git: git clone https://github.com/Pixel-Master/File-Find.git

  3. cd into the repository: cd File-Find

  4. Create a virtual environment:

    1. Create: python3 -m venv ./venv
    2. Activate the virtual environment: source venv/bin/activate
  5. Install dependencies: pip3 install -r requirements.txt

  6. Build using:

python3 build.py

On Windows

  1. Install Python:

    Download the installer: here

  2. Clone the File Find repository with git: git clone https://github.com/Pixel-Master/File-Find.git or download it from GitHub

  3. cd into the repository: cd File-Find

  4. Create a virtual environment:

    1. Create: python -m venv ./venv
    2. Activate the virtual environment: venv/bin/activate.bat
  5. Install dependencies: pip3 install -r requirements.txt

  6. Build using:

python build.py

FAQ

Q: What is File Find and how does it work?

A: File Find is an open-source macOS Utility, that makes it easy to find files. To search fill in the filters you need and leave the filters you don't need empty.

Q: Why does File Find sometimes freeze?

A: It is possible that for example reloading files or building the UI at the end of a search can cause File Find to freeze. Just wait a few seconds!

Q: How do you clean the cache?

A: File Find stores the cache under /Users/$USERNAME/Library/Application Support/File-Find/Cached Searches. You can clean the cache with ⌘ + T or Tools > Clear Cache. In the About section you can set when the cache gets cleaned automatically.

Q: Why does File Find ask for permission for Contacts, Calenders, Photos, etc...?

A: File Find scans the entire specified directory, even if files are excluded they are scanned first and then sorted out. Your photos, Calendar data, Contacts etc. are stored in a library folder, which means that File Find scans them. File Find does not connect to the internet, everything stays on your machine. You can also press "Do not allow", the associated files will not appear in your searches.

Q: Why does File Find ask for permission for Downloads, Desktop, Documents, etc...?

A: On macOS if an app scans a directory this popup will automatically appear. If you press "Don't allow", File Find will still be able to scan those files, but you are not going to be able to save searches in those directories

Q: Does File Find connect to the Internet?

A: File Find does not connect to the Internet, everything stays on your machine.

File Structure

Important files

  • File-Find.py - Main file, execute this for running File Find

  • build.py - Build script, requires nuitka to be installed. See here

UI-Files

  • FF_Main_UI.py - This file contains the code for the main window

  • FF_Search_UI.py - This file contains the code for the search-results window

  • FF_Additional_UI.py - This file contains the code for additional UI components like the PopUp windows

  • FF_Help_UI.py - This file contains the code for the About window

  • FF_Menubar.py - Menubar for the search results, compare and duplicated window

  • FF_Settings.py - Settings menu

Mixed files and algorithms

  • FF_Search.py - This file contains the code for the search engine

  • FF_Files.py - This file contains File operations and global variables

  • FF_Duplicated.py - This file contains the code for the 'Find duplicated' feature and it's UI

  • FF_Compare.py - This file contains the code for the 'Compare Search' feature and it's UI

Other

  • assets/ - Directory contains image assets for File Find