jeb5 / Sidetabs

Because tabs should be vertical
GNU General Public License v3.0
67 stars 4 forks source link

Feature request: Drag tab out of window to make new window or join with other window's tabs #10

Open Lillebo opened 12 months ago

jeb5 commented 11 months ago

As I understand it, due to a limitation with how the drag and drop API works, the extension would have to know in advance whether you were dragging a tab with the intention of putting it into your bookmarks bar or creating a new window.

The current behavior is that when a drag starts, "dataTransfer" data is associated with the drag. This includes the name and URL of the tab. When a drag ends, and a user drops on their bookmarks bar (or their desktop), firefox can handle creating a new link/bookmark based on that data. But if the user drags the tab outside of the window to create a new one, the extension could detect that and open a new window-- but it couldn't prevent a "link" being dropped on your desktop at the same time. The issue boils down to a limitation in the drag and drop API that prevents modification to the "dataTransfer" data after the drag has started.

Tree Style tab gets around this by requiring the user to hold shift before dragging when they intend to drop a bookmark/link, and otherwise dragging the tab will create a new window whenever it's dropped.

I could add something similar in Sidetabs, or possibly make it a checkbox option in preferences; I'm open to ideas!

Lillebo commented 11 months ago

Hm, I'm sorry I don't have any knowledge about this API. But I found this bug ticket from 13 years ago when they first started adding this feature in native Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=674925 Perhaps it might give some insight into how this can be implemented, but I really don't know if it's still relevant.

Creating bookmarks is anyways not a concern for me. I'm only interested in being able to move tabs from one window to another, or create new windows by dragging a tab outside its window boundaries. Basically just trying to have the same behavior as with native tabs.

menukaonline commented 11 months ago

+1 for the idea @Lillebo

Tree Style tab gets around this by requiring the user to hold shift before dragging when they intend to drop a bookmark/link, and otherwise dragging the tab will create a new window whenever it's dropped.

I could add something similar in Sidetabs, or possibly make it a checkbox option in preferences; I'm open to ideas!

@jeb5 I think the way Tree Style tab managed to get around this limitation is a good solution. So adding something similar would be great, as you suggested.

handy1957 commented 9 months ago

Ah, I came here for the same exact reason, I too realized that I could not drag a tab to my second monitor and I really hope you can find a work around for this. Can't thank you enough for finally making a great vertical tab add on : )

codevski commented 8 months ago

Looking forward for a decent drag option, currently my workaround is a context menu that I added with detach. If I have some free time may look into drag out and drag in behaviour