darktrojan / openwith

Open With add-on for Firefox
https://addons.mozilla.org/addon/open-with/
412 stars 71 forks source link

Open With WebExtension beta available #132

Closed darktrojan closed 7 years ago

darktrojan commented 7 years ago

I've made a usable but rough version of Open With available here.

You won't be able to have it and the existing version installed at the same time, but your settings are not removed so you can go back if necessary.

Known issues:

I'll be updating this comment as things progress.

s8321414 commented 7 years ago

Will it need to re-translate?

darktrojan commented 7 years ago

@s8321414 Eventually, yes. I'll try to keep what I can, but there will be lots of new things that need translating.

Sopor commented 7 years ago

I only get this when i run it in Firefox 54

open_with_windows.py install

  File "D:\Install\open_with_windows.py", line 141
    print find_browsers()
                      ^
SyntaxError: invalid syntax
darktrojan commented 7 years ago

@Sopor- are you running Python 3? That would cause that. And I should fix it.

Sopor commented 7 years ago

Yes @darktrojan, I'm running Python 3. I'll wait for an update.

darktrojan commented 7 years ago

@Sopor- There's a second beta up now which should fix that problem.

Sopor commented 7 years ago

@darktrojan When i try to install 7.0b2 i get this message from addons.mozilla.org This add-on is not compatible with your version of Firefox. So is this only for version Firefox 55 and later?

darktrojan commented 7 years ago

@Sopor- Gah! Firefox 55 is supposed to be out by now. Looks like it's being held back for some reason.

Anyway, now you can try b3 which is compatible with Fx54, and fixes something else which doesn't work on Python 3 for Windows. Yay, I love supporting different versions of things! 🙄

Sopor commented 7 years ago

@darktrojan Now it seems to work but it will show this text after i pressed test install Found version 7.0b1 at D:\Install\open_with_windows.py I'm running 7.0b3 but at least it seems to work

Sopor commented 7 years ago

Where do you want all the bugs reported? Or should we wait until you release it more official?

Sopor commented 7 years ago

I found these two issues after a few minutes... I can't add more than one Chrome. If i try to add with another profile it will replace the default Chrome instead of adding a new.

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Default"
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1"

SRWare Iron have the same icon as Chrome and i can't change it. There should be an option to choose icon from exe/dll files.

dCosminn commented 7 years ago

Some issues I found on Version 7.0b3 Once you select a option you can't deselect unless you refresh the page. So if i have a option selected and click "Add browser" to add another program it will overwrite the selected entry.

It works for opening youtube videos in Potplayer using this command: "C:\Program Files\DAUM\PotPlayer\PotPlayerMini64.exe"

It doesn't work on twitch.tv using streamlink. The command I'm trying to use is: "C:\Program Files (x86)\Streamlink\bin\streamlink.exe" -best It worked on the legacy extension, or i had other arguments, i don't remember how i did it.

Also if i openwith streamlink or PotPlayer, watch a video and close the player, the process would not close. After watching a few videos I end up with a lot of processes: http://i.imgur.com/gm5dMJl.png

Sopor commented 7 years ago

@dCosminn Yes, that is what cause my issue when i tried to add another Chrome. The first Chrome was selected when i pressed the Add browser. So instead of adding a new entry it change the old.

darktrojan commented 7 years ago

@dCosminn

Once you select a option you can't deselect unless you refresh the page. So if i have a option selected and click "Add browser" to add another program it will overwrite the selected entry.

Oh, I see it now. The form isn't being properly reset after editing, rather than list selection, but same result. Fixed for next update.

It worked on the legacy extension, or i had other arguments, i don't remember how i did it.

Check your about:config page, the old data should still be there.

dCosminn commented 7 years ago

I found them in about:config, this was the command: "C:\Program Files (x86)\Streamlink\bin\streamlink.exe" %s Best But it doesn't work, when I run it it spawns a streamlink.exe process but nothing happens.

kaa5 commented 7 years ago

But it doesn't work, when I run it it spawns a streamlink.exe process but nothing happens.

i get the same issue with youtube-dl. it opens cmd.exe but doesn't actually run youtube-dl. with the legacy addon it would run youtube-dl and download the video on the current website.

Stebs commented 7 years ago

On Linux, it works fine with youtube-dl, my command: /usr/bin/youtube-dl -o ~/Videos/Aufnahmen/%(title)s (-o ... is only there to say where the video should be saved) Works with mpv too, very glad this Extension is updated to WebEX, thanks!

chyiz commented 7 years ago

On Mac, can not launch other browsers right after auto discover. Figured that they do not have the ".app" extension. Also for filenames with a space, like "Google Chrome.app", they are actually passed as two parameters.
I'm able to launch those browsers after adding ".app" extension, and quotation marks around the whole command.

On the other hand, I'm still not able to make mpv or streamlink to work. Firefox just duplicates the current tab when trying to open with those applications.

darktrojan commented 7 years ago

Thanks for that @chyiz. I can't test things on Mac any more because my Hackintosh has died. :-(

Everybody: I've just opened #133 for MPV/Youtube-DL/Streamlink problems as I think this issue's going to get clogged otherwise.

indeedwatson commented 7 years ago

One of the best features of this addon was to bind a key to launch open with automatically, will/can this be added to the WE?

Sopor commented 7 years ago

@darktrojan Is it possible to add a separator and maybe even folders instead of having one long list of open with?

kizo2703 commented 7 years ago

There is no browser icons in context menu on Firefox 55.

capture 0

But icons have now appeared in a new version of addon on Firefox 56.

darktrojan commented 7 years ago

@kizo2703 Firefox 55 doesn't support that.

@indeedwatson Possibly… I can't see it returning straight away (other priorities), and when it does it will be somewhat limited compared to what we had before.

kizo2703 commented 7 years ago

Well, since most of us will move on to the new versions of FF when they come out, and on them (almost) everything works properly, I don't think there will be any problems.

There is another thing I have noticed - will it be possible to hide a particular browser, like on the old version?

chris-scheurle commented 7 years ago

Custom icons are not displayed in the page's context menu on macOS (Firefox 57.0b1). In the toolbar button's dropdown menu they appear ok.

screenshot

darktrojan commented 7 years ago

@chris-scheurle Cool, just fixed it. Thanks! Also, I must say, that is a mighty browser list you have there.

chris-scheurle commented 7 years ago

@darktrojan Yep, it's fixed. Thanx! :smile:

vyv03354 commented 7 years ago

Autodetected "Edge" entry will open File Explorer if the URL contains an ampersand. This is the return of #51. I had to manually rewrite Edge entry from C:\WINDOWS\explorer.exe microsoft-edge:%s to C:\WINDOWS\explorer.exe "microsoft-edge:%s " after I pressed "Look for browsers" button.

darktrojan commented 7 years ago

I swear I checked that. Looking at it now, I think it's actually the presence of an = that's causing it. Stupid Edge.

kizo2703 commented 7 years ago

Now, with quotes ("microsoft-edge:%s ") everything works fine ...

belarian commented 7 years ago

Hello, @darktrojan,

I found a problem with your open_with_*.py script. Everything works well, except every time I open something, it also creates a new instance of the script that hangs in the process list. I think this is because of the unnecessary infinity loop in the listen function. Once it is removed, the problem disappears and everything works as expected.

OS Debian 9.2 (Stretch) here with Firefox 57.0b12 from Mozilla's Beta Channel and Python 2.7.13 & 3.5.3.

I hope this info will be helpful to you.

quilloss commented 7 years ago

Another option to solve the lingering processes is to add sendMessage('') after the subprocess.Popen call. The webextension code is set to disconnect the port if a message is received.

ghost commented 7 years ago

@darktrojan When the stable version of your Open With extension is released, you should consider adding built-in support for popular video players and marketing your addon page to support opening links in video players as well. That's what I do with your addon with just a little bit of tinkering. I guarantee your user numbers would skyrocket as more people find out they can open things like Youtube links with VLC or mpv.

That being said, I finally tried out the webextension beta today and it works great with mpv. It only needs to support putting a single icon in the context menu for one-click support if we only use one browser/video player.

ghost commented 7 years ago

Would it be possible to pass non-link URLs with the WebExtension versioon? I, like @Cormak, use Open With to pass video links to mpv/youtube-dl. The new version is problematic because I can only pass clickable links/tabs, not URLs that are pure text (highlight and right click). IIRC it was possible with the old version, now I have to copy such URLs to mpv manually

darktrojan commented 7 years ago

@belarian @quilloss Yes, thank you. I've "fixed" that so many times and yet somehow I still manage to break it. The infinite loop is a relic of the past (I had intended to leave the connection open and reuse it), and disconnecting on message return is just a stuff-up. :-/

Qrzysio commented 7 years ago

Works like a charm. Good job! The only weird thing is to install Python. Hope this will not be necessary in the stable version.

ghost commented 7 years ago

@Qrzysio Clearly, it will be necessary. This is what is needed in order to communicate with programs on a webextension platform. I don't really mind it as long as it works.

ronny941 commented 7 years ago

hi I did not understand how it works this new version 7.0.2

i have downloaded the file and installed the program called python 3.6.3 but I don't understand the final step which is this::

"Open a command prompt. Run the file with the argument "install", like this: open_with_windows.py install"

How the extension works when the file is downloaded what should I do ?

thank you in advance