Giter Club home page Giter Club logo

Comments (25)

onemen avatar onemen commented on August 27, 2024

Thank you @117649 , i will take a look one after finish working on multi-row

report i you see any errors in the browser console

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

Not seeing any error in console so far.
It look like the codes work as intended but the changes in Firefox cause them generate unwanted behavior.
And also some of the changecode() may not in fully effective since the original function they are tap into have changed dramatically.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

Try to describe the visual bugs you see, what exactly doesn't work and how to reproduce each one

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

Try to describe the visual bugs you see, what exactly doesn't work and how to reproduce each one

  1. Drop indicator: built-in style not working. Native indicator shows all the time and won't disappear. There is very limit time the built-in do shows but not consistent and with native indicator displayed at same time.
  2. 'When dragging a tab move it directly' has no effect for not checked state.
  3. While dragging things into the browser tab bar Firefox have the function of switch the current selected tab to the one mouse pointer hovering on after wait a while. This seems not working right with TMP DnD enabled, switch happened as soon as the mouse cursor passing the tab without any delay.
  4. No blank tab opened for .xpi file despite not using the option in TMP's link panel.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

I'm thinking of removing old tabmix style indicator
image

it not adding any better user experience

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

I'm thinking of removing old tabmix style indicator
image

it not adding any better user experience

If so we may also be able to simplify tabbinding.js a little.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

Yes

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

Maybe it is best to write the code from scratch.

We need to add support for:

  • multi-row
  • tabs with different width to calculate drop index
  • blocking link drop on locked tab (in dragover)
  • open link that will start a download in the current tab instead of new tab
  • block opening new window from detached tab in single window mode
  • hiding close button that is visible on hover only
  • ...

The current code was compatible with Firefox 55.

currently dragover dosn't work since aEvent.target.localName is never tab or tabs

      case "dragover": {
        let target = aEvent.target.localName;
        if (target != "tab" && target != "tabs")
          return;
        if (this.tabBar.useTabmixDnD(aEvent))
          TMP_tabDNDObserver.onDragOver(aEvent);
        break;
      }

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024
  • tabs with different width to calculate drop index

This one may not needed, current test shows that drop index is on the right position for single row with 'Tab width fit to tab tittle' enabled.

Now for some reason I don't know you may need to flip 'show close button on tab when mouse hover' switch off and on once after updated add-on for it to function.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

Now for some reason I don't know you may need to flip 'show close button on tab when mouse hover' switch off and on once after updated add-on for it to function.

this is the simplest of all, we just call TabmixTabbar.removeShowButtonAttr from dragstart

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

Newest test on the Fx86 and latest commit shows 'built-in style Drop indicator' and 'When dragging a tab move it directly' are working.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

dragging tab from another window not working

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

dragging tab from another window not working

I remember there seems a function that check dragging type may be take a look into that.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

my bad ....

-   if (aSourceNode.container == aSourceNode.ownerGlobal.gBrowser.tabContainer)
+   if (aSourceNode.container == gBrowser.tabContainer)

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

// always check if the link is an xpi link
let filetype = ["xpi"];
if (TabmixSvc.prefBranch.getBoolPref("enablefiletype")) {
let types = TabmixSvc.prefBranch.getCharPref("filetype");
types = types.toLowerCase().split(" ")
.filter(t => filetype.indexOf(t) == -1);
filetype = [...filetype, ...types];
}

Why? I think when user turn it off then it should be completely off.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

we don't open new tab for left click on xpi links

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

we don't open new tab for left click on xpi links

It also affect drag and drop which is inconvenient. Firefox are not very responsive regarding xpi dragged in from hard drive it just lost install panel randomly and many attempts may be required. Having a blank page with url helps a lot on retry install a xpi especially when you trying developing an addon .
And xpi is listed in the options it should obey that control it just shouldn't be hard coded.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

i will test when i finished updating drag and drop functions

it is most likely work if you drag a file onto about:addons

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

Little change like this that close the condition statement works for me well.

           .filter(t => filetype.indexOf(t) == -1);
       filetype = [...filetype, ...types];
     }
+    else return false;
     var linkHrefExt = "";
     if (linkHref) {

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

@117649 ,
Do you think we need this message, when dragging link to the on tabs ?

image

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

@117649 ,
Do you think we need this message, when dragging link to the on tabs ?

image

Yes. If the function it stated are real and provide by TMP not Mozilla.

May be tweak the wording to shorter the sentence. It indeed pretty long for a tool tip.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

Yes. If the function it stated are real and provide by TMP not Mozilla.

When this function was introduced almost 14 years ago it was new feature, now days this is the standard action when dragging a link.

Tabmix block drop on locked tab, user can unlock the tab by pressing Ctrl/meta, but details about this feature and others should be in the documentation and not in tooltip

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

I will change the code to show tooltip when link is dragged over a locked tab

  • for mac Hold ⌘ to allow link Url to replace locked tab
  • for others Hold Ctrl to allow link Url to replace locked tab

I hope you can suggest better wording...

from tabmixplus.

117649 avatar 117649 commented on August 27, 2024

I will change the code to show tooltip when link is dragged over a locked tab

* for mac **Hold ⌘ to allow link Url to replace locked tab**

* for others  **Hold Ctrl to allow link Url to replace locked tab**

I hope you can suggest better wording...

eh. Hold Ctrl to replace locked tab with link Url ?

I'm not sure if this is grammar correct but at least a word shorter.

from tabmixplus.

onemen avatar onemen commented on August 27, 2024

🥇

from tabmixplus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.