Enable Operators & Wildcards option resets every time switching tabs

I am seeing more strange behavior with “Enable Operators & Wildcards” checkbox.

As you can see in this video, the current behavior on DevonThink 3.9.2 is as follows:

“Enable Operators & Wildcards” is disabled (as I prefer)
I do a global search of a non-wildcard term (aka a single word that is not a pattern or wildcard)
I click the first result and the checkbox sets itself enabled.
I don’t need a wildcard search and at this point am just going through results.
Why are the search parameters changing on me?

Another behavior I have observed is with tabs.

Each tab appears to save its own search term and settings which is great, except that this wilcard option enables itself every time on the tab so that each time I disable it and switch tabs, it is enables again.

I can go all day disabling it on one tab, going to the next tab and it is enabled again. Go back to the previous tab and that one is enabled now too (despite that I just disabled it one second ago)

It is nearly impossible to turn this option off.

What is a better way for this parameter to work?

  1. There should be a way to disable that option and it never enables itself again until I manually enabled it? Why is that not possible? I like wildcard searches. I don’t use them all the time but would like to sometimes. However, it should be possible to do it when I choose, not be forced every time.

  2. If every tab saves its own search parameters (term options etc), then it should save the state of that parameter. If I disable it on tab 1, and it is enabled on tab 2, I should go back to tab 1 and it should still be disabled as I left it. Why does it re-enable itself?

I first reported this issue 2 years ago.

After much back and forth there was a workaround presented of some obscure flag I could toggle out of the usual preferences / app settings. I followed those instructions but never did get it working. I stopped thinking so much about it but still find myself unchecking that box many times in a day.

2 years later it still doesn’t work and seems even more broken with this tab enabling issue.

The toolbar search is always based on operators & wildcards, therefore this option is enabled in the Search inspector when selecting search results to ensure consistent results.

Ok but if you turn it off, shouldn’t it be possible to stay off?

Even if I do no further searches at all after an initial “toolbar search”, and disable that option, if I switch to another tab where it was enabled, it becomes globally enabled again.

The setting isn’t currently remembered for each tab. Are all tabs opened search results?

In my test scenario / video, the two open tabs were both global (toobar) searches. But in my actual usage I have a mix where there are some global search tabs and some not.

The hidden prefererence DontAutomaticallyEnableOperatorsOptionOfSearchInspector (see appendix of help) should avoid this.

Not sure if I’m doing it right as it doesn’t seem to work.

I quit DevonTHINK

in terminal :

> defaults write com.devon-technologies.think3.DontAutomaticallyEnableOperatorsOptionOfSearchInspector -bool TRUE

verify :

> defaults read com.devon-technologies.think3.DontAutomaticallyEnableOperatorsOptionOfSearchInspector 
    "-bool" = TRUE;

Start Devonthink with multiple tabs open
try a global search in tab 1 and box checks on me (was unchecked before I quit)

I uncheck the box
go to tab 2, another search (different term)
box is checked on search results
uncheck box
back to tab 1, box is checked again
back to tab 2 , box is checked again

I am filing an issue on this as there is some unexpected behavior beyond this related to the hidden preference.

Thanks for your patience.

PS: Why do you not want the option enabled? Are you entering only full words, e.g., synchronization, not sync* ?

Thanks Jim for the update and additional investigation.

PS: Why do you not want the option enabled? Are you entering only full words, e.g., synchronization, not sync* ?

I am not entering full words per se but want to be able to find variations. For example I might search on “sync” but want to find occurrences of synchronize, synced, synchronization etc

Granted RegEx wildcard “*” is exactly for this scenario, but for whatever reason when I’m searching in a text doc, my brain doesn’t think to search in RegEx patterns.

Maybe it is the mentality of of using MS Word for editing text rather than when I am using vi or a code editor where I’m in a RegEx mindset.

I am curious about the general user base of DevonTHINK.

Do you find most DT users to be familiar with RegEx or come from a development background?

I know my wife who uses DevonTHINK as a journal doesn’t use regular expressions. If she wanted to find “sync” type words she would just write “sync” and expect it to return all variations and not think about adding “*” to the end. If it didn’t return anything she probably would just move on and either assume nothing was found or that the search is broken without looking much further.

For me, BBEdit is a good use case as they have a “grep” checkbox in their search that you can turn on if/when you chose, but if you uncheck it or don’t want it, the default search behavior is plain text, not RegEx.

Also FWIW, when you uncheck it, it stays unchecked till you enable it again. There is no scenario where it just turns itself on again.

You figure people who use BBEdit are more technically inclined (myself included) but I like having the option to use it when I need it and turn it off otherwise.

If you’re not using this option, you can do substring matches of one search term.

Using the option doesn’t enable regular expressions; it just allows the boolean operators and the asterisk wildcard. This allows creating more complex searches, e.g.,…

I just made a test doc with the following text

this is a test document with the word sync in it
which should probably match synchronization
synchronized swimming
and it would be a synchronicity if I found the word sync-hole in the mix too.

These syncs are not without merit mind you but are synchronized to sync up next time you sort them out.

When I do a global search for “sync” (no wildcards)
it returns 3 results for this doc (I count 7 results it should match)

The * is not a “RegEx wildcard”, since DT does not allow RegEx search in this context. It is a simple “joker”, i.e. a symbol that matches “anything”. In a RE, the * must follow something, e.g. synch* would match sync, synch, synchh (in fact, any number of ‘h’). So, no problem if your brain doesn’t think in RE patterns, they don’t work here anyway :wink:

That is incorrect. You have the wildcard option enabled. As I mentioned, a substring is matched with the option off. You need to add the wildcard to match substrings when this option is enabled.