Closed Centril closed 9 years ago
This is a really cool idea!
To answer your questions:
metadata
system, which has a couple auxiliary processes (mds
, mdworker
, etc). Those services observe changes to the process, create inverted indexes, and serve queries to them. The special stuff Spotlight offers (like unit conversions or calculations) are done by the UI process.I see you're considering to use Flashlight plugins as this system's plugin interface — if you need any help, I'd be glad to lend a hand. There's a bit of Mac-specific stuff in many plugins, but the majority of plugins would probably work fine. There's a lot of Objective-C code in Flashlight core itself (FlashlightKit), but it actually might be possible to build in a cross-platform way, with something like GNUStep.
Glad you think so =) If you have any ideas you'd like to see or so, please add them!
mds
& mdworker
processes are listening in to files being created and destroyed to run the indexing, right?metadata
? There's Windows Search Indexer or something like that - maybe I can use that so that the users can use their native indexer and fallback to a custom one for those that don't have one...?Servo
, Mozilla's new rendering engine for browsers puts Web-Kit & Gecko to shame, it seems to be super great at multi-core stuff, and indexing and search results is something you can parallelize a lot! I haven't written a line of ObjC in my life, it feels really weird to me ;) Rust is kinda new, and bindings to widget libraries are not super mature yet, but while I'm living on the edge, I might as well try it?md
system, but if you're going cross-platform, I think it would make sense to build your own indexing system. SQLite has full-text indexing — you could build an indexer using that.
I'm a Linux/Win user who'd like to develop an open source version of spotlight for all platforms using either C++ or Rust. The "project" is in the idea stage: https://github.com/Centril/open-spotlight/wiki/Requirements-&-Ideas
I'm wondering what you have figured out about the spotlight internals...
Any insights are most welcome!