yacine-bens/MsEdge-TTS-Extension

[FEATURE] Extension popup

Closed this issue · 6 comments

Describe the feature

For now a click on the extension icon will open up the side panel instead of a popup windows. Can we change the behavior to opening a popup, or alternatively make it an option instead? I notice the existing codebase already contains the popup component, so I guess it only requires a minor change/update.

Thank you for adding new features to this extension!

The popup currently is for Firefox as it doesn't have the side panel feature (it has sidebarAction but it's different). It can be set as an option for the user to choose whether to show the side panel or the popup. I guess I'll have to create a separate options page to prevent stuffing the main UI with too many options.

The popup currently is for Firefox as it doesn't have the side panel feature (it has sidebarAction but it's different). It can be set as an option for the user to choose whether to show the side panel or the popup. I guess I'll have to create a separate options page to prevent stuffing the main UI with too many options.

Ah I see. Thank you for the explanation.

Here are some thoughts after running this extension in Chrome for about a week.

One thing about Chrome's side panel is that it will take up a large space and stay open across different tabs. Also once the side panel is closed, the audio will stop playing and the last TTS result will be lost.

This makes me think that probably a better idea is to inject HTML into page, which can be toggled (hidden/displayed) by a click on the extension icon. This way:

  1. The audio could be played in the background without opening a popup or side panel.
  2. Audio could continue playing even when the Injected HTML is toggled off.
  3. The injected HTML under one page won't interfere with other opening tabs.

One existing example is this chrome extension, which basically does what I describe here. I'd love to hear your thoughts on this! Thanks.

Thank you for the detailed feedback.

For the side panel, it can be set to open only on specific tabs (ones that triggered TTS).

Playing the audio in the background is really interesting. It can be done using Offscreen Documents in MV3. The extension you mentioned is still using MV2 which is not accepted anymore for new extensions in the Chrome Web Store.
Triggering the extension can also be done using keyboard shortcuts or by copying the text in addition to the context menu feature, and the text will be read in the background.

The HTML injected by the extension can be affected by the web page styling. Also including an audio player in the UI may not work in all websites. Facebook for example blocks media loaded from sources other than authorized ones (I tried this in another extension). In this case we can add a button to Play / Pause the audio in the background, but we'll have to sacrifice audio controls.

Honestly I didn't plan to go this far with the extension 😁, I just need to find some time to process these changes.

Appreciate your the thoughtful and detailed response!

Glad to know playing audio in the background could be done without HTML injection.

Honestly I didn't plan to go this far with the extension 😁, I just need to find some time to process these changes.

Thank you for your work and effort you put into developing this extension. It's definitely one of the best TTS solution out there for the moment. I'm excited for the upcoming features!

@yacine-bens Hi! It's been 2 weeks since this issue was opened. Any plan to bring about the features mentioned above?

Hey! I apologize for the delay.
The extension now opens popup instead of side panel when clicking on the extension icon.
I'll try to add the other features accordingly.