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

Or you could:

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)
  • Export your set filters as a .FFFilter file, load them again, share them or even set them as a default in the settings.
  • Compare two searches and search for differences

Building from source

Dependencies for building

  • Python 3.9 or higher (Python 3.12 does not work yet!)
  • PySide6 6.4.1 or higher
  • nuitka 2.0 or higher
  • Only macOS: dmgbuild 1.1 or higher

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 Utility for macOS, Windows and Linux , 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_About_UI.py - This file contains the code for the About window

  • FF_Menubar.py - Menu-bar 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

  • File Find.entitlements - This is an entitlement file, which can be used to sandbox an app on macOS. Tough sandboxing is currently not supported.