ssborbis / ContextSearch-web-ext

Search engine manager for modern browsers
329 stars 37 forks source link

engin filter problem #537

Closed dogchild closed 1 year ago

dogchild commented 2 years ago

When I set the engin filter under advance option, there are two problems.

  1. the quick menu always show the engin in both selection and page category which I think it should be only selection;
  2. when I set an engin not in any category(means I only need the engin appears in toolbar menu) but it will appears in all category(means choose nothing equals choose all). Therefore, I'm very curious of the logic behind the engin filter.
ssborbis commented 2 years ago

the quick menu always show the engin in both selection and page category which I think it should be only selection

You think if text is selected, the page context should be ignored? That may be possible now, since adding the option to open the quick menu without any additional context using quickMenuOnMouseOpenWithoutSelection. The reason you're seeing both page and selection contexts is because, unless that option is enabled, you need a second context (selection, image,link, etc ) to display engines with the page context. I'll need to think on this.

when I set an engin not in any category(means I only need the engin appears in toolbar menu) but it will appears in all category(means choose nothing equals choose all).

If you uncheck all contexts, you see the engine in the quick menu? That shouldn't be.

dogchild commented 2 years ago

Thank you for replying.

the quick menu always show the engin in both selection and page category which I think it should be only selection

You think if text is selected, the page context should be ignored? That may be possible now, since adding the option to open the quick menu without any additional context using quickMenuOnMouseOpenWithoutSelection. The reason you're seeing both page and selection contexts is because, unless that option is enabled, you need a second context (selection, image,link, etc ) to display engines with the page context. I'll need to think on this.

I really think when I choose only selection it should appears only selection, because if I want both selection and page I can choose both of them, right?

when I set an engin not in any category(means I only need the engin appears in toolbar menu) but it will appears in all category(means choose nothing equals choose all).

If you uncheck all contexts, you see the engine in the quick menu? That shouldn't be.

This situation only happens for app launcher but not normal search engin. You can try, choose nothing equals choose everthing.

ssborbis commented 2 years ago

This situation only happens for app launcher but not normal search engin. You can try, choose nothing equals choose everthing.

How are you opening the quick menu? I'm testing on chromium, and I'm seeing some odd behavior when double-clicking to highlight a word and using auto. Sometimes the menu opens in contextual mode, other times it shows all engines. I can easily tell something is wrong, because the context toolbar doesnt appear ( icons for audio, link, image, etc ). I'll need to check that out.

dogchild commented 2 years ago

How are you opening the quick menu? I'm testing on chromium, and I'm seeing some odd behavior when double-clicking to highlight a word and using auto. Sometimes the menu opens in contextual mode, other times it shows all engines. I can easily tell something is wrong, because the context toolbar doesnt appear ( icons for audio, link, image, etc ). I'll need to check that out.

I use auto and keyboard on edge. I haven't test for audio, image. I did a simple test, create a folder, put two app launcher inside it, if both check only link, the folder won't show in quick menu which is normal. But I check one launcher on link and the other one uncheck all, then the folder appears whch is the same as I check it with selection. That's strange and it's not supposed to be like that I think.

ssborbis commented 2 years ago

There may be multiple issues going on, but I posted a fix to the development branch to try.

dogchild commented 2 years ago

Thank you! The first problem I can't find the option quickMenuOnMouseOpenWithoutSelection, where is it?

ssborbis commented 2 years ago

The first problem I can't find the option quickMenuOnMouseOpenWithoutSelection, where is it?

CS Options -> Advanced -> Manual Edit ( button at the top-right of the table )

I'm thinking about how best to handle contexts. The trick is, some elements have multiple contexts ( a link has text and url, an image can have a source url and a link url, etc ) and it's useful to display engines that match all contexts when that element is used as the source for search terms. Maybe page and iframe should be treated special, in that, if there is a second context ( image, link, selection, etc ), page and iframe contexts should be ignored. This could be problematic if, for instance, a user wanted to get a "page" context, but the html background used an image. I think as it currently is coded, this addon would see an "image" context also, so limiting the menu to only display the "image" would prevent the user from seeing engines using the "page" context. It's made even more messy by the fact the "image" and "page" would be different search terms. There are other complications as well. I'll think on it some more before I make any changes.

dogchild commented 2 years ago

why is the logic so complicated? why can't it show based on only the category user checked. For example, user check only image but no page, then just show image but no page, if user checked both image and page then page should not be ignored. Is that possible?

ssborbis commented 2 years ago

why can't it show based on only the category user checked

Like you said, only engines with the current context should display. But if you open the menu on, say, an image that is wrapped in a hyperlink. Now you have two contexts ( image, link ). Every engine with linkor image orlink + image contexts will display. It's currently the same with page; you click on a link but also get a page context, so every engine listed as link or page or link + page gets displayed. I'm currently looking into the best way to drop the page context when another context is available. I think currently, the context menu omits the page context when another is available, but the quick menu does not.

dogchild commented 2 years ago

oh I c. Take your example, if an image wrapped in a hyperlink, why not just show only image when user checked only image, if show link+image when user checked both? Is that possible? Take your time before you actually change it.

ssborbis commented 1 year ago

I think newer versions handle the contextual menus a bit differently and may have resolved this issue. If not, let me know and I'll re-open.