Proper implementation of GUI search tools
From a unix command line it's dead easy to do highly sophisticated searches, such as:
Find:
| (file contains) thue-morse
|
AND |
|
| (path ends with) .pdf
|
| | (path contains) mathematics
| |
| OR |
| |
| | (path contains) telegraph
|
| NOT | (path contains) public_html
which finds all files that:
- are pdf files
- contain the word thue-morse (think morse code, and Thue
was a Norwegian mathematician)
- the filename or one of the directories the file is in contains one of the words "mathematics" or "telegraph"
- I haven't already published in my web directory.
Graphical tools don't support this kind of fine grained search. At least I haven't encountered any that do. I would like them to.
Some search tools are half way there - they allow logical constructs to be entered in typed form. Library computer search tools are a prime example, in the UK anyway, and in google you can type: "thue-morse" ".pdf" mathematics OR telegraph -"public.html" . I regard reaching even this level of integration to be a very good thing and a desirable aim.
Project:
Subject:- File managers
Sample subjects:- Mozilla, Windows Explorer
Aim 1:- Make it possible to include wildcards in the location bar.
Example 1:- Typing *(mathematics OR telegraph)*.pdf
into the location bar should display pdf files that have mathematics or telegraph in their path.
Example 2:- Typing /usr/home/zack/mathematics/*.html
should display only the html files in the given directory.
Aim 2:- Decide on a suitable regular expression language for Aim 1. Points can be gained for simplicity, for being similar to existing languages, and for being intuitive for both unix/mac/linux and windows users.
Ideas:
1:- * should mean any string of characters that can appear in a file or directory name, as is the case in terminal commands of practically all operating systems. That excludes say foo/bar as the foo would be the end of one directory name and the bar would be the beginning of the next.
2:- Maybe [expression]* could mean that expression repeated. It's a fairly natural extension of * and will be familiar to sed users.
3:- Maybe there could be nice human readable abbreviations for common expressions, e.g.:
3.1:- [$alphanumeric]*
3.2:- [$anycharacter]* (so this can include / and \)
Request:- I never use Windows for anything. Ever. If I can help it. But that's because I happen not to like it. So if you're interested in implementing this for Windows Explorer please do either petition Microsoft or go and hack, because otherwise it won't get done. You could just help implement it for Mozilla Firefox which can be used on a Windows platform but that would leave all those poor Explorer users in the "users don't need capability" age.