{"action":"created","issue":{"url":"https://api.github.com/repos/nate-parrott/Flashlight/issues/308","labels_url":"https://api.github.com/repos/nate-parrott/Flashlight/issues/308/labels{/name}","comments_url":"https://api.github.com/repos/nate-parrott/Flashlight/issues/308/comments","events_url":"https://api.github.com/repos/nate-parrott/Flashlight/issues/308/events","html_url":"https://github.com/nate-parrott/Flashlight/issues/308","id":55915609,"number":308,"title":"Question: Spotlight-internals & Open-source alternative to spotlight","user":{"login":"Centril","id":855702,"avatar_url":"https://avatars.githubusercontent.com/u/855702?v=3","gravatar_id":"","url":"https://api.github.com/users/Centril","html_url":"https://github.com/Centril","followers_url":"https://api.github.com/users/Centril/followers","following_url":"https://api.github.com/users/Centril/following{/other_user}","gists_url":"https://api.github.com/users/Centril/gists{/gist_id}","starred_url":"https://api.github.com/users/Centril/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Centril/subscriptions","organizations_url":"https://api.github.com/users/Centril/orgs","repos_url":"https://api.github.com/users/Centril/repos","events_url":"https://api.github.com/users/Centril/events{/privacy}","received_events_url":"https://api.github.com/users/Centril/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-01-29T15:46:46Z","updated_at":"2015-01-29T19:13:13Z","closed_at":"2015-01-29T17:18:43Z","body":"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\r\n\r\nI'm wondering what you have figured out about the spotlight internals...\r\n+ Do you understand anything about how the indexer works? As far as I understand, spotlight is just a GUI on top of the filesystem indexer (for the FS part at least...) which runs as a separate daemon/service.\r\n+ Is all content that spotlight displays HTML & Javascript, i.e, is it running in a browser? (Then perhaps I should run a local Servo or something). Or is the browser something that flashlight adds?\r\n+ How much of the API that you expose? As far as I understand it, the only thing you expose in the JS side is the bash command, what do you expose on the python side?\r\n\r\nAny insights are most welcome!"},"comment":{"url":"https://api.github.com/repos/nate-parrott/Flashlight/issues/comments/72085148","html_url":"https://github.com/nate-parrott/Flashlight/issues/308#issuecomment-72085148","issue_url":"https://api.github.com/repos/nate-parrott/Flashlight/issues/308","id":72085148,"user":{"login":"nate-parrott","id":3059249,"avatar_url":"https://avatars.githubusercontent.com/u/3059249?v=3","gravatar_id":"","url":"https://api.github.com/users/nate-parrott","html_url":"https://github.com/nate-parrott","followers_url":"https://api.github.com/users/nate-parrott/followers","following_url":"https://api.github.com/users/nate-parrott/following{/other_user}","gists_url":"https://api.github.com/users/nate-parrott/gists{/gist_id}","starred_url":"https://api.github.com/users/nate-parrott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nate-parrott/subscriptions","organizations_url":"https://api.github.com/users/nate-parrott/orgs","repos_url":"https://api.github.com/users/nate-parrott/repos","events_url":"https://api.github.com/users/nate-parrott/events{/privacy}","received_events_url":"https://api.github.com/users/nate-parrott/received_events","type":"User","site_admin":false},"created_at":"2015-01-29T19:13:13Z","updated_at":"2015-01-29T19:13:13Z","body":" - Oops, I wrote \"process\" when I meant \"filesystem.\" \r\n - Probably possible to access the underlying index, but definitely not documented. There is a documented API for querying the `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.\r\n- HTML seems like the way to go. Spotlight uses native UIs, but you could definitely match the look-and-feel using HTML/CSS/JS. I wouldn't worry too much about making the Linux version look like OS X.\r\n- Rust seems really cool. Using servo for the UI layer does seem kind of crazy, but if you can get it to work...\r\n- agreed. Flashlight does a lot of NLP stuff on queries, which you'd need to port or rewrite, but I do think the plugin architecture works pretty well."}}