Giter Club home page Giter Club logo

fsearch's Introduction

Build Status Translation status

FSearch is a fast file search utility, inspired by Everything Search Engine. It's written in C and based on GTK+3.

Note: The application is still in beta stage, but will see its first release as soon as localization support has been added

Features

  • Instant (as you type) results
  • Wildcard support
  • RegEx support
  • Filter support (only search for files, folders or everything)
  • Include and exclude specific folders to be indexed
  • Ability to exclude certain files/folders from index using wildcard expressions
  • Fast sort by filename, path, size or modification time
  • Customizable interface

Requirements

  • GTK+ 3.12
  • GLib 2.36
  • glibc 2.19 or musl 1.1.15 (other C standard libraries might work too, those are just the ones I verified)
  • PCRE (libpcre)

Download

Arch Linux (AUR)

https://aur.archlinux.org/packages/fsearch-git/

Ubuntu

Daily Development Builds PPA

https://launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-daily

Roadmap

https://github.com/cboxdoerfer/fsearch/wiki/Roadmap

Build Instructions

https://github.com/cboxdoerfer/fsearch/wiki/Build-instructions

Localization

The localization of FSearch is managed with Weblate.

https://hosted.weblate.org/projects/fsearch/

If you want to contribute translations please submit them there, instead of opening pull requets on Github. Instructions can be found here: https://weblate.readthedocs.io/en/latest/user/index.html

Why yet another search utility?

Performance. On Windows I really like to use Everything Search Engine. It provides instant results as you type for all your files and lots of useful features (regex, filters, bookmarks, ...). On Linux however I couldn't find anything that's even remotely as fast and powerful.

Before I started working on FSearch I took a look at all the existing solutions I found (MATE Search Tool (formerly GNOME Search Tool), Recoll, Krusader (locate based search), SpaceFM File Search, Nautilus, ANGRYsearch, Catfish, ...) to find out whether it makes sense to improve those, instead of building a completely new application. But unfortunately none of those met my requirements:

  • standalone application (not part of a file manager)
  • written in a language with C like performance
  • no dependencies to any specific desktop environment
  • Qt5 or GTK+3 based
  • small memory usage (both hard drive and RAM)
  • target audience: advanced users

Looking for a command line interface?

I highly recommend fzf or the obvious tools: find and (m)locate

Why GTK+3 and not Qt5?

I like both of them. And in fact my long term goal is to provide console, GTK+3 and Qt5 interfaces, or at least make it possible for others to build those by splitting the search and database functionality into a core library. But for the time being it's only GTK+3 because I tend to like C more than C++ and I'm more familiar with GTK+ development.

Questions?

Email: christian.boxdoerfer[AT]posteo.de

fsearch's People

Contributors

adamwojs avatar ammuu5 avatar atalanttore avatar calinou avatar cboxdoerfer avatar comradekingu avatar conradolandia avatar davidbolvansky avatar domag02 avatar ericek111 avatar f2404 avatar fitojb avatar gustavohmsilva avatar ivan-rsm avatar kolomona avatar larnicone avatar lc-guy avatar lepa22 avatar linxon avatar marcoslans avatar napcok avatar pylersm avatar rindeal avatar serefercelik avatar stdevpavelmc avatar torbei avatar vistaus avatar weblate avatar welaq avatar yakonstb avatar

Watchers

 avatar  avatar  avatar

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.