{"id":13618906,"url":"https://github.com/opto/expression-search-NG","last_synced_at":"2025-04-14T15:33:42.693Z","repository":{"id":41200839,"uuid":"354980676","full_name":"opto/Expression-Search-NG","owner":"opto","description":"update of Thunderbird addon ExpressionSearch/Gmail UI for TB 78 and later","archived":false,"fork":false,"pushed_at":"2024-10-16T14:58:21.000Z","size":140,"stargazers_count":61,"open_issues_count":102,"forks_count":8,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-11-08T05:38:50.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-05T21:44:20.000Z","updated_at":"2024-10-22T07:46:25.000Z","dependencies_parsed_at":"2024-01-06T13:43:08.392Z","dependency_job_id":"0c705d63-1a91-45f3-a467-7ca36008afc1","html_url":"https://github.com/opto/Expression-Search-NG","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opto%2FExpression-Search-NG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opto%2FExpression-Search-NG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opto%2FExpression-Search-NG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opto%2FExpression-Search-NG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opto","download_url":"https://codeload.github.com/opto/Expression-Search-NG/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248906843,"owners_count":21181225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:00:32.074Z","updated_at":"2025-04-14T15:33:42.385Z","avatar_url":"https://github.com/opto.png","language":null,"funding_links":["https://www.paypal.com/donate?hosted_button_id=EMVA9S5N54UEW'"],"categories":["Communication and Collaboration Tools"],"sub_categories":["E-mail"],"readme":"                                                                          \u003c!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"\u003e\n\n\u003cp\u003eExpression Search / GMailUI is an extension to Thunderbird (versions 31.0+) which adds powerful message searching features.\nInit by Ken Mixter, developed over many years by Opera Wang, updated to TB 78+ by Klaus Buecher/opto.\u003c/p\u003e\n\u003cp\u003e\nType \"hello world\" to search within the current view for this string in subject/from/to/cc.\u003cbr/\u003e\nType \"from:fred to:tom attachment:yes\" or \"f:fred t:tom att:yes\" to see all messages from Fred to Tom in the current view that have an attachment.\u003cbr/\u003e\nType \"s:bbb t:(oo -pp)\" to see all messages with subject bbb, send to oo but not to pp.\nPress Ctrl+Enter to have this search apply to all folders through virtual folder.\u003cbr/\u003e\nPress Shift+Enter to invoke Gloda Search in all indexed folders.\u003cbr/\u003e\nUse Ctrl/Shift+Right Click to search the clicked subject/From/Recipient.\u003cbr/\u003e\n\u003c/p\u003e\n\n\u003cp\u003eExpression Search's features are described below.\u003c/p\u003e\n\u003cp\u003eThe transfer to TB 78 is underway. Some features may not work yet. You can report issues at \n  the home page for TB78: \u003ca href='https://github.com/opto/expression-search-NG/issues'\u003eexpression-search-NG\u003c/a\u003e\n\u003cp\u003e It is gratefully appreciated if you can support the transfer to TB 78 by a \u003ca target = \"_blank\" href = 'https://www.paypal.com/donate?hosted_button_id=EMVA9S5N54UEW'\u003edonation.\u003c/a\u003e \u003c/p\u003e\n\u003c/p\u003e\n\u003ch3\u003eSearch expressions and quick search key\u003c/h3\u003e\n\u003cp\u003e\nThis extension adds a new search text box to the end of your quick search bar. Whatever phrase you enter\nis searched for in your currently selected folder's to/from/cc/subject fields.  Notice that by default\nthe body is not searched for your search phrase.  If that results in too many matches,you can focus the search\nusing \"operators\".  Operators are just short words followed by a colon, such as \"from:amazon.com\".\n\u003c/p\u003e\n\nHere are some examples:\n\u003col\u003e\u003cli\u003e\n\u003cp\u003e\u003cb\u003eweekend plans\u003c/b\u003e\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for \n'weekend plans' in the \u003ci\u003efrom\u003c/i\u003e, \u003ci\u003eto\u003c/i\u003e, \u003ci\u003ecc\u003c/i\u003e, or \u003ci\u003esubject\u003c/i\u003e\nfields.\u003c/p\u003e\n\u003cp\u003eIf \"Act as normal filter\" enabled, the \"Sender\", \"Recipients\", \"Subject\" and \"Body\" buttons will\ndetermine to search in which fields.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003efrom:mike\u003c/b\u003e or \u003cb\u003ef:mike\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for 'mike' in the \u003ci\u003efrom\u003c/i\u003e\nfield.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eto:bill\u003c/b\u003e or \u003cb\u003et:bill\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for 'bill' in the\n\u003ci\u003eto\u003c/i\u003e or \u003ci\u003ecc\u003c/i\u003e fields of the message.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003etonocc:bill\u003c/b\u003e or \u003cb\u003ecc:tom\u003c/b\u003e or \u003cb\u003ebcc:riddle\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eLike above, \u003cb\u003etonocc\u003c/b\u003e will search \u003ci\u003eto\u003c/i\u003e field only, \u003cb\u003ecc/bcc\u003c/b\u003e will search \u003ci\u003ecc/bcc\u003c/i\u003e field only. Case insensitive.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eonly:tom\u003c/b\u003e or \u003cb\u003eo:tom\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eSearch for 'tom', and 'tom' should be the only recipients in \u003ci\u003eto\u003c/i\u003e filed. Case insensitive.\u003cbr/\u003e\nNote: 'only:(tom or jerry)' will get message that \u003ci\u003eto\u003c/i\u003e filed is 'tom' or 'jerry' only, while 'only:(tom and jerry)' will get nothing, please use 'only:(tom,jerry)' instead if you want to search emails that recipients contain and only contain both 'tom' and 'jerry'.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003efromto:tom\u003c/b\u003e or \u003cb\u003eft:tom\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eSearch for 'tom', and 'tom' can be in either \u003ci\u003efrom\u003c/i\u003e, \u003ci\u003eto\u003c/i\u003e, \u003ci\u003ecc\u003c/i\u003e, or \u003ci\u003ebcc\u003c/i\u003e. Case insensitive.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003esubject:electric bill\u003c/b\u003e or \u003cb\u003es:electric bill\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for 'electric bill' \nin the \u003ci\u003esubject\u003c/i\u003e fields of the message. Case insensitive.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003esimple:this subject contains special characters like ( ) ' \" - etc\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view in the \u003ci\u003esubject\u003c/i\u003e\nfields of the message. And the pattern can contain special characters. unlike \"subject\" search, this search won't suffer from \u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=124641'\u003eBug 124641\u003c/a\u003e.\n\u003c/p\u003e\u003cp\u003eThis pattern must be the last pattern. Case \u003cb\u003esensitive\u003c/b\u003e.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eregex:/^begin/i\u003c/b\u003e or \u003cb\u003ere:end$\u003c/b\u003e or \u003cb\u003er:/\\d+\\s*\\d+/\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view with \u003ca href='https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions'\u003eRegular Expressions\u003c/a\u003e\nin the \u003ci\u003esubject\u003c/i\u003e fields of the message.\n\u003c/p\u003e\u003cp\u003eThis pattern must be the last pattern. Case \u003cb\u003esensitive\u003c/b\u003e unless you have //i.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eheaderre:List-Id=/all-test/i\u003c/b\u003e or \u003cb\u003eh:list-id\u003c/b\u003e or \u003cb\u003eh:sender=/^Bob/\u003c/b\u003e or \u003cb\u003ehr:header~/^value/\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view with \u003ca href='https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions'\u003eRegular Expressions\u003c/a\u003e\nin the header of the message. The header should be already saved in Thunderbird's .msf database.\nYou can \u003ca href=\"https://developer.mozilla.org/en-US/docs/Extensions/Thunderbird/customDBHeaders_Preference\"\u003econfig\u003c/a\u003e the headers in 'options/Search More Headers', If you added one header, it will only affect\nnewly added emails unless you do 'repaire folder'.\n\u003c/p\u003e\u003cp\u003eThis pattern must be the last pattern. Header is case insensitive, Value is case \u003cb\u003esensitive\u003c/b\u003e unless you have //i.\nIf the value is empty, Any message has the header will match.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003efromre:/^begin/i\u003c/b\u003e or \u003cb\u003efr:end$\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view with \u003ca href='https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions'\u003eRegular Expressions\u003c/a\u003e\nin the \u003ci\u003efrom\u003c/i\u003e fields of the message.\n\u003c/p\u003e\u003cp\u003eThis pattern must be the last pattern. Case \u003cb\u003esensitive\u003c/b\u003e unless you have //i.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003etore:/^begin/i\u003c/b\u003e or \u003cb\u003etr:end$\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view with \u003ca href='https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions'\u003eRegular Expressions\u003c/a\u003e\nin the \u003ci\u003erecipients\u003c/i\u003e(to/cc/bcc) fields of the message.\n\u003c/p\u003e\u003cp\u003eThis pattern must be the last pattern. Case \u003cb\u003esensitive\u003c/b\u003e unless you have //i.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eattachment:yes\u003c/b\u003e or \u003cb\u003ea:yes\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for an attachment,\nNotice that it does not search for attachments named \"yes\".  You can also use \"y\" or \"1\" for \n\"yes\".  You can use \"no\", \"n\", or \"0\" to search for messages without attachments.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003efilename:foo.doc\u003c/b\u003e or \u003cb\u003efi:image\u003c/b\u003e or \u003cb\u003efn:msword\u003c/b\u003e or \u003cb\u003efile:html\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for an attachment name or type. Case insensitive.\nIf you just want to search messages that have attachment, use attachment:yes instead of using this one.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eis:replied\u003c/b\u003e or \u003cb\u003ei:UnRead\u003c/b\u003e or \u003cb\u003estatus:Forwarded\u003c/b\u003e or \u003cb\u003estatus:F\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for status, The\nstatus can be one of Replied, Read, Marked/Star, Forwarded, UnRead, New, ImapDeleted or Attachment.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003ebefore:2011/03/09 07:12:00\u003c/b\u003e or \u003cb\u003ebe:09 Mar 2011 05:00:00\u003c/b\u003e or \u003cb\u003eafter:Mar 10, 2011\u003c/b\u003e or \u003cb\u003eaf:(2011/03/01 -2011/03/09)\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view within the \u003ci\u003edate\u003c/i\u003e range, The\ndate format can be checked \u003ca href='https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse'\u003eHere\u003c/a\u003e.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003ebefore:07:12:00\u003c/b\u003e or \u003cb\u003ebe:5:9\u003c/b\u003e or \u003cb\u003eafter:03:07:05\u003c/b\u003e or \u003cb\u003eaf:(3:0 -4:0)\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view within the time range.\naf:(3:0 -4:0) will search for messages in current view that \u003ci\u003edate\u003c/i\u003e between 3am to 4am EVERY day. \n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003edate:2011/01\u003c/b\u003e or \u003cb\u003edate:2011/01/03\u003c/b\u003e or \u003cb\u003ed:\" 03:\"\u003c/b\u003e or in zh-CN locale \u003cb\u003ed:2011?3?\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view to match date.\nThe internal format for compare is \"yyyy/mm/dd hh:mm:ss\", locale date is also supported.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eag:3\u003c/b\u003e or \u003cb\u003eda:3\u003c/b\u003e or \u003cb\u003eage:3\u003c/b\u003e or \u003cb\u003eolder_than:3\u003c/b\u003e or \u003cb\u003edays:(3 -5)\u003c/b\u003e or \u003cb\u003eage:today\u003c/b\u003e or \u003cb\u003enewer_than:8week\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view to match age in days.\ndays:(3 -5) will search for messages that age between 3 to 5 days.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003esize:10\u003c/b\u003e or \u003cb\u003esi:(0.5M -2M)\u003c/b\u003e or \u003cb\u003elarger:1G\u003c/b\u003e or \u003cb\u003esmaller:1024\u003c/b\u003e or \u003cb\u003esm:10\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view to match size in KB or MB/GB.\nsize:(3 -5) will search for messages that size is larger than 3KB and less than 5KB, that is 4.x KB.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003ebody:electric bill\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for 'electric bill' \nin the body of the message. On large or remote folders it may take some time. Also, if you \ncombine this with other search operators like \"from:\", \"subject:\" or \"to:\" this will speed \nthings up considerably. \n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003ebodyre:/hello.*world/i\u003c/b\u003e or \u003cb\u003ebr:test\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches the body of all messages in the current folder or view with \u003ca href='https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions'\u003eRegular Expressions\u003c/a\u003e. Case sensitive and should be the last pattern.\nOnly search \u003cb\u003eoffline\u003c/b\u003e messages.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003elabel:Important\u003c/b\u003e or \u003cb\u003etag:TODO\u003c/b\u003e or \u003cb\u003el:NA\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view which has the tag\nImportant. l:NA means all messages without tag.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eall: weekend plans\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis expression searches all messages in the current folder or view for\n'weekend plans' anywhere in the message, including the \u003ci\u003efrom\u003c/i\u003e, \u003ci\u003eto\u003c/i\u003e, \u003ci\u003ecc\u003c/i\u003e, or \u003ci\u003esubject\u003c/i\u003e\nfields, and the \u003ci\u003ebody\u003c/i\u003e.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003eg: weather\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eThis will call gloda (faceted) search if gloda enabled. This mode can't be used together will other specifications like 'f:' or 't:'.\n\u003c/p\u003e\u003c/li\u003e\u003cli\u003e\u003cp\u003e\n\n\u003cb\u003e3+2\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eIf the expression looks like an arithmetic one, when you press enter, it will be calculated and the result will be shown in the search box.\n\u003c/p\u003e\u003c/li\u003e\n\n\u003cli\u003e\u003cp\u003e\n\u003cb\u003efrom:-foo from:-bar [...]\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eSo-called \u003ca href='https://github.com/wangvisual/expression-search/issues/47'\u003eInverted Search\u003c/a\u003e.\nThis is a \u003ckbd\u003enot x and not y [...]\u003c/kbd\u003e search for the selected attribute (Here: \u003cvar\u003efrom:\u003c/var\u003e).\u003cbr/\u003e\nThis is the GMail search-equivalent of: \u003ckbd\u003e-foo -bar\u003c/kbd\u003e.\n\u003c/p\u003e\u003c/li\u003e\n\n\u003c/ol\u003e\n\n\u003ch3\u003eHot Key\u003c/h3\u003e\n\u003cp\u003e\nBy default, Press Ctrl+Shift+K, your cursor will appear in the expression search bar and\nyou will be able to type.\u003c/p\u003e\n\u003cp\u003eExpression Search add one additional hot key \"Ctrl+B\".\u003c/p\u003e\n\u003cp\u003eOnce you are typing in your search query, and you hit enter or otherwise let\nit begin searching, your cursor will remain inside of the query box to allow you \nto modify the query.  However, if you'd rather go back to browsing your messages,\ninstead of clicking on the message headers in your search results, you can just\npress 'ESC' to to clear the search criteria, and press 'ESC' again to refocus back\u003c/p\u003e\n\n\u003ch3\u003eQuick Search Virtual Folder\u003c/h3\u003e\n\u003cp\u003eIf you haven't before used 'virtual folders' in Thunderbird, let me introduce them.\nThis standard feature of Thunderbird lets you create a search, name it, and then\nhave that name appear in your folders list.  You can select that folder from the\nlist and see the current result of the saved search.  Note two useful things: 1)\nthe 'contents' of the virtual folder can actually be in any of your real folders,\nand so a virtual folder actually can 'contain' messages that span many folders,\nand 2) the virtual folder's contents are recomputed each time you view it, so if\nyou saved a virtual folder with 'sender' field containing 'Donald', then if you\nreceive a new message from someone named Donald, it will be placed in your INBOX,\nbut you'll immediately be able to switch to your Donald virtual folder, and find\nit there.\u003c/p\u003e\n\u003cp\u003eSo that's what regular virtual search folders do in Thunderbird. But this\nextension makes it extremely easy to create them.  Now, when you normally hit\n'enter' in the Expression search quick search bar, you can instead hit\n'ctrl-enter' and a virtual folder called 'ExressionSearch' will be created (or modified\nif it already existed) to search for that search across ALL of your folders in the\ncurrent account.\u003c/p\u003e\n\u003cp\u003eThe resulting virtual folder 'ExpressionSearch' can then be modified\nby editing properties, or can be renamed to make it a permanent virtual search folder.\nIf you do not rename the folder, the next time you use ctrl-enter the ExpressionSearch \nvirtual folder is reused to show your new quick search result.\u003c/p\u003e\n\n\u003ca name='keep_saved_search'\u003e\u003c/a\u003e\n\u003cp\u003eThe option \"\u003cb\u003eKeep selected folders for saved search\u003c/b\u003e\" to have the \"ExpressionSearch\"\nvirtual folder being persistent not only allows you to mark it as \"Preferred\" without\nthe setting being lost when restarting TB, but also you can edit the properties of the\n\"ExpressionSearch\" virtual folder to specify once for all which of your physical folders\nshould be searched or not with a global non-faceted search (CTRL+Enter).\u003c/p\u003e\n\u003cp\u003eWhere \"ExpressionSearch\" is created can also be set in the option dialog, By default, it's\nthe root folder of the current disaplyed folder\u003c/p\u003e\n\u003cp\u003eYou can back to original folder by press Ctrl+Alt+LEFT\u003c/p\u003e\n\n\u003ch3\u003eMore complex searching\u003c/h3\u003e\n\u003cp\u003eThe quick search bar allows you use the simple expressions from above, but it also\nallows you to compose more complex searches.  For instance, if you want to search for\na message from Bob Barker to Dave Letterman about monologues, you can use:\n\n\u003c/p\u003e\n\u003cp\u003e\u003cb\u003ef:Bob Barker t:Dave Letterman s:monologues\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eIf you are tired of getting results that have jokes about \"Monica\", you can instead use:\n\n\u003c/p\u003e\n\u003cp\u003e\u003cb\u003ef:Bob Barker t:Dave Letterman s:monologues -Monica\u003c/b\u003e\n\u003c/p\u003e\n\u003cp\u003eIf you are interested in messages from either of these celebrities:\n\n\u003c/p\u003e\n\u003cp\u003e\u003cb\u003ef:Bob Barker or f:Dave Letterman\u003c/b\u003e\n\u003c/p\u003e\n\u003ch3\u003eNotes\u003c/h3\u003e\n\u003cp\u003eNote 1: For the average user, the above information is usually adequate.  If you\nare curious, this feature still relies upon an underlying Thunderbird message searching\nmechanism.  That mechanism cannot always perform searches correctly that have a combination of boolean\noperators.  So, if you try to perform a search that mixes \"ands\" and \"ors\" you may get back\ntoo many results.  As an example, if you were to search for \"t:dan and f:(bob or dave)\" you\nwill be mixing boolean operators and the results may be over inclusive or may work.  As an extra technical\nnote, if you did \"t:dan and -f:(bob or dave)\", DeMorgan's theorem takes place and you are actually\ncomposing a search of \"t:dan and f:-bob and f:-dave\".\n\u003c/p\u003e\n\u003cp\u003e\nHowever, due to restrictions in Thunderbird's virtual search folder, the complex searching results maybe correct\nin your current search results, but maybe NOT in you search folder. as the search folder can only handle 'Match all'\nand 'Match any' types.\n\u003c/p\u003e\n\u003cp\u003e\nNote 2: If you want search all folders using expression, you can create a virtual folder manually (Ctrl+Shift+F) with 'Match all messages',\nthen using expression search in the virtual folder.\n\u003c/p\u003e\n\u003cp\u003e\nNote 3: In case you also using the normal search filter, the final results is logically \"AND\", that means\nboth filter are effective.\n\u003c/p\u003e\n\n\u003ch3\u003eClick 2 Search\u003c/h3\u003e\n\u003cp\u003e\nIf Enabled, you can use Ctrl/Shift+Right Click on sender/recipient/subject column to search for the same sender,\nrecipient or subject.\n\u003c/p\u003e\n\u003cp\u003e\n\u003ca name=\"c2s_Replace\"\u003e\u003c/a\u003e\nFor subject line, if provided regular expression match/replace patterns and enabled the replace for corresponding key combo, the pattern will be first executed\n\u003cpre\u003eReplace subject before search.\nMultiple matches are ORed. Example:\n    Match:   \\[#(\\d*)\\]\n    Replace: $1\n    Subject: [#1212][#2323]Some text\n    Result:  (1212 or 2323)\u003c/pre\u003e\n\u003c/p\u003e\n\u003cp\u003e\nAlso common prefix like 'Re:', 'Fw:', [mail-list-name] will be removed before search.\n\u003c/p\u003e\n\n\u003ca name=\"version_history\"\u003e\u003c/a\u003e\n\u003ch3\u003eVersion history\u003c/h3\u003e\n\u003cul\u003e\u003cli\u003e\n  Version 2.4beta: \u003cul\u003e\n    \u003cli\u003eWorks with TB78, drop support for old TB pre 78\u003c/li\u003e\n    \u003cli\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003c/li\u003e\u003cli\u003eVersion 1.4: \u003cul\u003e\n\u003cli\u003eWorks with TB 63 nightly, drop support for TB older than 60\u003c/li\u003e\n\u003cli\u003eChange from legacy XUL overly addon to restartless addon\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 1.3: \u003cul\u003e\n\u003cli\u003eWorks with TB 60 nightly, drop support for TB older than 52\u003c/li\u003e\n\u003cli\u003eFixed issue with 'only' filter\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 1.2: \u003cul\u003e\n\u003cli\u003eAdd 'fromto' token\u003c/li\u003e\n\u003cli\u003eAdd option for search input box timeout\u003c/li\u003e\n\u003cli\u003eFixed issue with OSX\u003c/li\u003e\n\u003cli\u003eFixed issue with TB 55\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 1.1: \u003cul\u003e\n\u003cli\u003eWorks with TB 56 nightly\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 1.0: \u003cul\u003e\n\u003cli\u003eWorks with TB 45 nightly\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.9: \u003cul\u003e\n\u003cli\u003eCompatible with TB40 nightly and drop support for TB version less than 31\u003c/li\u003e\n\u003cli\u003eAttachment search is fully supported and won't crash TB any more, for offline messages only.\u003c/li\u003e\n\u003cli\u003eAdd option to put the Expression Search field into the Tab bar\u003c/li\u003e\n\u003cli\u003eAdd option to (not) remove the domain name for click2search\u003c/li\u003e\n\u003cli\u003eAdd option to hide the quick search filter icons\u003c/li\u003e\n\u003cli\u003eLooks better on OSX and Ubuntu\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.8: \u003cul\u003e\n\u003cli\u003eCompatible with TB31 nightly and drop support for TB 5~11\u003c/li\u003e\n\u003cli\u003eregex search in body is fully supported and won't crash TB any more, for offline messages only.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.7: \u003cul\u003e\n\u003cli\u003eCompatible with TB29 nightly\u003c/li\u003e\n\u003cli\u003eAdded regex search for from/to\u003c/li\u003e\n\u003cli\u003eAdded option to make the \"search results\" doesn't looks so big when search is not active\u003c/li\u003e\n\u003cli\u003eChanged hotkey from Ctrl+Left to Ctrl+Alt+Left for back to original folder after Ctrl+Enter\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.6: \u003cul\u003e\n\u003cli\u003egetCellProperties API change for TB22\u003c/li\u003e\n\u003cli\u003eAdd options for tooltip show/hide time\u003c/li\u003e\n\u003cli\u003echange the flexibility of other element to make my search box bigger\u003c/li\u003e\n\u003cli\u003eAdd \"Re: \" to subject if it's a reply email for subject regex search\u003c/li\u003e\n\u003cli\u003eAdd 'Select All', 'Clear All' \u0026 select mode when modify virtual folder's folders.\u003c/li\u003e\n\u003cli\u003eFix bug: Donate through palpay directly not working because I'm in China\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.5: \u003cul\u003e\n\u003cli\u003eAdded options for show or hide text labels of 'quick filter' buttons\u003c/li\u003e\n\u003cli\u003eAdded options to seperate subject replacment for Ctrl/Shift+RightClick\u003c/li\u003e\n\u003cli\u003eAdded options for load Saved Search folder in a new Tab\u003c/li\u003e\n\u003cli\u003eAdded hotkey Ctrl+Left for back to original folder after Ctrl+Enter\u003c/li\u003e\n\u003cli\u003eAdded regex search for headers\u003c/li\u003e\n\u003cli\u003eAdded regex search for body\u003c/li\u003e\n\u003cli\u003eAdded newer_than/older_than support\u003c/li\u003e\n\u003cli\u003eAdded size/larger/smaller support\u003c/li\u003e\n\u003cli\u003eSupport NA for tag search, Star for status search\u003c/li\u003e\n\u003cli\u003eAdded today/yesterday/day/month/year for days search\u003c/li\u003e\n\u003cli\u003eAdded status bar icon \u0026 tips\u003c/li\u003e\n\u003cli\u003eAdded donate buttons\u003c/li\u003e\n\u003cli\u003eAdded scrollbar for option window when needed\u003c/li\u003e\n\u003cli\u003eFixed crash issue when ctrl2search on headers\u003c/li\u003e\n\u003cli\u003eFixed bugs for Ctrl+Enter launch gloda search when no messages found\u003c/li\u003e\n\u003cli\u003eFixed bugs for pined quick search buttons not work when switch between folders\u003c/li\u003e\n\u003cli\u003eFixed bugs for transparent background help page on Mac OS\u003c/li\u003e\n\u003cli\u003eFixed bugs for click2search triggers context menu on Mac OS\u003c/li\u003e\n\u003cli\u003eCompatible with TB5~TB23\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.4: \u003cul\u003e\n\u003cli\u003eAdded tonocc/bcc/cc/only/age search\u003c/li\u003e\n\u003cli\u003eAdded options for show verbose information\u003c/li\u003e\n\u003cli\u003eAdded options for where to create expression search folders\u003c/li\u003e\n\u003cli\u003eFixed '\u003c\u003e' in search pattern issue when use click2search\u003c/li\u003e\n\u003cli\u003eFixed search issue when use click2search and address is in address book\u003c/li\u003e\n\u003cli\u003eFixed hang issue when '\\t' exists in search pattern\u003c/li\u003e\n\u003cli\u003eFixed minor bug that extension defined search terms show when search in address book\u003c/li\u003e\n\u003cli\u003eFixed one bug that icons for quick search may missing when move search buttons to menubar or toolbar\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.3: Fixed context menu missing issue when click right button.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.2: Work with Thunderbird 5. Fixed search bar shown issue. Fixed issue when search with complicated expressions.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8.1: Fixed a bug: During search, 'Continue search with all folders' message will shown.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.8: \u003cul\u003e\n\u003cli\u003eWork with Thunderbird 3.3.\u003c/li\u003e\n\u003cli\u003eAdded Click2Search similar to The Bat!\u003c/li\u003e\n\u003cli\u003eAdded options to move expression search box to toolbar/menubar\u003c/li\u003e\n\u003cli\u003eAdded options to act as normal search box\u003c/li\u003e\n\u003cli\u003eAdded options to select 1st messages after hit enter in search box\u003c/li\u003e\n\u003cli\u003eHit enter will launch gloda search if no message found\u003c/li\u003e\n\u003cli\u003eHit Ctrl+B will focus on search box\u003c/li\u003e\n\u003cli\u003ebefore/after search can now search time within day\u003c/li\u003e\n\u003cli\u003eAdded simple/regex/date search\u003c/li\u003e\n\u003cli\u003eAdded filename for attachment name/type search (experimental, may crash)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\u003cli\u003e\nVersion 0.7: Added 'status/is' search. Added 'before/after' search. Added numerical calculation.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.6: Added Help \u0026 Contact link to Options dialog.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.5: Added Options dialog.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.4: Work with Thunderbird 3.1 .\n\u003c/li\u003e\u003cli\u003e\nVersion 0.3: Shift+Enter to launch gloda search. Fix 'Cc','Cu','Ci','Cr' redefine error.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.2: Added 'g:' search mode for gloda search. Press 'Esc' in thread tree will clear the search criteria.\n\u003c/li\u003e\u003cli\u003e\nVersion 0.1: First version, changed from GMailUI to make it works for Thunderbird 3.\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003ch3\u003eKnown Issues of this extension or Thunderbird\u003c/h3\u003e\n\u003cul\u003e\u003cli\u003e\nShift+RightClick May not work for some versions of Thunderbird.\n\u003c/li\u003e\u003cli\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=224392'\u003eBug 224392\u003c/a\u003e - Add ability to filter by attachment name (extension)\n\u003c/li\u003e\u003cli\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=338761'\u003eBug 338761\u003c/a\u003e - searching body of emails for text doesn't match word-wrapped text\n\u003c/li\u003e\u003cli\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=460737'\u003eBug 460737\u003c/a\u003e -  Quickfilter ignores searches for friendly display names from address book contacts, as displayed on message header and message list by default (no or incomplete results for From, To, CC, BCC)\n\u003c/li\u003e\u003cli\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=522886'\u003eBug 522886\u003c/a\u003e - Implement \"Recipients\" column that shows all recipients (To, CC, and BCC)\n\u003c/li\u003e\u003cli\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=546925'\u003eBug 546925\u003c/a\u003e - custom header search is non-functional ('Run search on server' of Edit/Find/Search Messages doesn't work any more)\n\u003c/li\u003e\u003cli\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=570815'\u003eBug 570815\u003c/a\u003e - (qfwidget) Make Quickfilter optionally available as simple searchbox widget+stickypin (with filter criteria in persistent popup panel \u0026/or dropdown; toolbar customization)\n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=124641'\u003eBug 124641\u003c/a\u003e - Thunderbird does not handle multi-line headers correctly when search term spans lines\n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=363238'\u003eBug 363238\u003c/a\u003e - saved searches fail for searches on x-headers\n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=474730'\u003eBug 474730\u003c/a\u003e -  should search newest first - searching returns messages in bad order, making searches very time-consuming and irrelevant for large databases\n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=564328'\u003eBug 564328\u003c/a\u003e - Keyboard shortcut Ctrl+F conflict and cmd_find ambiguity, used for both Find in This Message and Quick Filter \n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=600140'\u003eBug 600140\u003c/a\u003e - 'Unread' quick filter hides some unread messages (the beginning of a thread) \n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=607295'\u003eBug 607295\u003c/a\u003e - Provide UI for new archive granularity and folder structure options\n\u003c/li\u003e\u003cli class=\"bz_closed\"\u003e\n\u003ca href='https://bugzilla.mozilla.org/show_bug.cgi?id=625472'\u003eBug 625472\u003c/a\u003e - Quick search processes input after hiding it with escape\n\u003c/li\u003e\u003c/ul\u003e\n\u003cp\u003eCompared with original GMailUI 0.6, these features are still missing:\n\u003cul\u003e\n\u003cli\u003eUse 'Y' to archive selected mail to archive folder (use 'a')\u003c/li\u003e\n\u003cli\u003eUse J/K to move messages up and down, and Ctrl+J to mark a message as junk (conflict with builtin key mapping, use 'f/b' instead)\u003c/li\u003e\n\u003cli\u003eKey '/' focuses on the quick search bar (use Ctrl+F)\u003c/li\u003e\n\u003c/ul\u003e\nIf you do need to change the hotkeys, please try other extensions below.\n\u003c/p\u003e\n\n\u003ch3\u003eOther Extensions\u003c/h3\u003e\nYou can try the following extensions to make your Thunderbird more convenient.\u003cbr/\u003e\n\u003cul\u003e\n\u003c!--\u003cli\u003e\u003ca href='https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/'\u003eGMail Conversation View\u003c/a\u003e and \u003ca href='https://github.com/protz/GMail-Conversation-View/wiki/displaying-your-own-messages-in-the-inbox'\u003eHow to display sent messages in Inbox?\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href='http://kb.mozillazine.org/Keyconfig_extension'\u003eKeyconfig\u003c/a\u003e\u003c/li\u003e\n--\u003e\n\u003cli\u003e\u003ca href='https://addons.thunderbird.net/en-US/thunderbird/addon/nostalgy_ng/'\u003eNostalgy++: easy archiving of emails\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOther addons proposed by Opera Wang no longer work in TB 78\u003c/li\u003e\u003c/ul\u003e\n\n\u003ch3\u003eThanks\u003c/h3\u003e\n\u003cul\u003e\u003cli\u003e\nKen Mixter - Original Author of GMailUI\n\u003c/li\u003e\u003cli\u003e\nOpera Wang 15 years of developing Expression Search/GmailUI\n\u003c/li\u003e\u003cli\u003e\nsavo_msu - Author of \u003ca href='https://addons.thunderbird.net/af/thunderbird/addon/one-click-search/'\u003eOne Click Search\u003c/a\u003e\n\u003c/li\u003e\u003cli\u003e\nKent James - Author of \u003ca href='https://addons.thunderbird.net/en-US/thunderbird/addon/filtaquilla/'\u003eFiltaQuilla\u003c/a\u003e\n\u003c/li\u003e\u003cli\u003e\nJiten Dedhia - Suggest for 'toonly' search\n\u003c/li\u003e\u003cli\u003e\nJonathan Kamens - Patch for TB56 support\n\u003c/li\u003e\u003cli\u003e\nGreg Cowan - Suggest for date search\n\u003c/li\u003e\u003cli\u003e\nMike Martinez - Suggest for bcc search\n\u003c/li\u003e\u003cli\u003e\nOlivier - Suggest for Shift/Ctrl+Enter\n\u003c/li\u003e\u003cli\u003e\nPaul Sednaoui - Suggest for 'only' search\n\u003c/li\u003e\u003cli\u003e\nRandolf Ebelt - Find a bug when search with complicate expressions\n\u003c/li\u003e\u003cli\u003e\nOlivier Brodeur - Find a bug when no messages found, gloda launched when Ctrl+Enter\n\u003c/li\u003e\u003cli\u003e\nLee Yeoh - Find a bug for pined quick search buttons not work\n\u003c/li\u003e\u003cli\u003e\nTom Zhu - Suggest for Enter to focus message pane, and validations before release.\n\u003c/li\u003e\u003c/ul\u003e\n\n\u003ch3\u003eFeedback, Suggestions, and on-going Development\u003c/h3\u003e\n\u003cp\u003eKlaus Buecher/Opto's Home Page for TB 78+: \u003ca href='https://github.com/opto/expression-search-NG'\u003eexpression-search-NG\u003c/a\u003e \u003c/p\u003e\n\u003cp\u003eOpera Wang's Home Page (TB 60): \u003ca href='https://github.com/wangvisual/expression-search'\u003eexpression-search\u003c/a\u003e, not in active development      \u003c/p\u003e\n\u003cp\u003eKen Mixters Home Page: \u003ca href='http://sites.google.com/site/kmixter/gmailui'\u003eGMailUI\u003c/a\u003e, pre 2005    \u003c/p\u003e\n\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003c/div\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopto%2Fexpression-search-NG","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopto%2Fexpression-search-NG","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopto%2Fexpression-search-NG/lists"}