piroor / treestyletab

Tree Style Tab, Show tabs like a tree.
http://piro.sakura.ne.jp/xul/treestyletab/
Other
3.5k stars 278 forks source link

Turn off tab animations #499

Closed onlbk closed 8 years ago

onlbk commented 11 years ago

Tree Style Tab is great but you added tab animations that really ruins Tree Style Tab. It is a really bad idea to have a user interface target around. This isn't a videogame, keep things simple.

Please turn off tab animations

sozey commented 11 years ago

+1 i really appreciate your work, i couldnt live without your addon, but could you please turn off those animations or provide an option to do so??! the options make drag and drop impossible, especially when you want to make a tab a child of another tab. thanks.

joeytwiddle commented 11 years ago

Which animations are bothering you? Is it the tree growing shallower when auto-shrinking and deeper when auto-expanding?

I agree it's not necessary, there could be an option to enable/disable it. Personally I would be happy to keep the tree shallow at all times.

sozey commented 11 years ago

no im talking about the animation of the tabs when you drag other tabs around. for example, when you want to drag a tree into another tab/tree, trying to make it a child of that tab, the parent tab starts moving up and down, away from the tree your dragging, making it almost impossible to drop it properly. it didnt use to be like that, it mustve changed within the last couple of updates. just please include an option to disable it, if other people want the animations, so be it.

zuckel commented 11 years ago

This! Please. Moving tabs around to organize them has become very unnerving since animations were introduced. I would highly appreciate an option to disable animations.

joeytwiddle commented 11 years ago

For what it's worth, they appear fine for me. (Firefox 21 under Ubuntu 32bit.)

You guys may want to report your version and OS, so the author can reproduce your frustration. :)

sozey commented 11 years ago

well im using the newest version 0.14.2013082301, firefox 23.0.1 on win7 x64. also, you have to have a tree with several tabs in it, including one or more child tabs. moving single tabs appears fine. btw, "browser.tabs.animate" doesnt do anything.

sozey commented 11 years ago

@wanabe unfortunately that doesnt work. it doesnt seem to change the behaviour at all. btw, i tried boolean and string.

this "bug" is seriously p*****g me off more and more every day. i cant even switch back to an old version because the 0.14.2012081101 version doesnt work with firefox 23. i am seriously considering switching back to an older firefox, this is how much i need this addon to work. argh! why not make a simple option to disable animations? ironically, v0.14.2012081101 had an option like that, although it was grayed out in ff23. sigh..

zuckel commented 11 years ago

The new pref works for me. Thanks a lot!!

zuckel commented 11 years ago

I need to comment again just to express how happy I am with the option. Thank you so much! :D

sozey commented 11 years ago

@zuckel so how did you make it work? how did you add this preference?

zuckel commented 11 years ago

the change is not (yet) in master but in the dragging-animation branch. i just cloned that and built the xpi. the preference was there from the beginning, i just toggled the value to false.

sozey commented 11 years ago

@zuckel i dunno maybe im too stupid, i unpacked the xpi and added the pref in the treestyletab.js - but i couldnt find the base.js and tabbarDNDObserver.js didnt have the lines to remove. i tried with just the pref line in treestyletab.js but then the addon didnt work at all. could you please just send me your xpi? put it on mediafire or something. would be much appreciated.

zuckel commented 11 years ago

Of course it would be better and safer if you just built the artifact yourself. I assume, however, that you are unfamiliar with how to do this for the moment. So I uploaded the xpi to my sugarsync: https://www.sugarsync.com/pf/D1417624_133_662611818

The artifact should not be considered to be stable as it comes from a WIP branch of a project I do not develop. I will remove it from sugarsync in a couple days.

sozey commented 11 years ago

@zuckel it worked! thank you so much! although its important to note that you need to turn "extensions.treestyletab.animation.drag.enabled" to false in t about:cache - otherwise it wont work. i really hope he makes it a regular option to disable animations completely in the next version cause otherwise im not updating. btw you should leave this online for other people who might be looking for the same thing. thanks again!

zuckel commented 11 years ago

@sozey You're welcome. I will keep the file up until the change finds its way into a master release or the maintainers ask me to remove it. Bright day to everyone :D

zuckel commented 11 years ago

Is the toggle going to be integrated to master anytime soon?

piroor commented 11 years ago

I'll never merge this change to the master. I commented the reason to the pull request in Japanese so I try to translate it to English.

Why I introduced such an animation effect?

Because it is introduced by Firefox itself. After the animation effect is activated on Firefox, I updated TST to follow it. However, it was unwelcome update for some people and I got many requests like "it is hard to operate tabs with drag-and-drop", "I want an option to disable animation effects during tabs are dragged." Actually, I can see two issues on the issue tracker:

The patch of the pull request adds a secret preference to do it. It is enough small and clear. If I added the option, I wrote just same patch.

But I disagree to merge the pull request, because I think that the approach of the patch is similar to a story: "Firefox's Gecko engine is too buggy and less compatibility to WebKit, so why don't you delete all codes of Gecko and introduce WebKit with Firefox-like UI?" In other words, it is very easy to add new option which is requested by people, however, I'm extremely reluctant to do it because it is opposed to my policy on Tree Style Tab project.

Basic premises and my policies.

Basically, this project depends on Mozilla Firefox project --which is very large and uncontrollable by me-- and it is unavoidable to be tossed up and down by the storm of changes in Firefox. Actually, on my another project, I had to rewrite the addon for new versions of Firefox again and again. I learned through the bitter experience that I should have some strict policies on my addon projects:

Reasons why the pull request is unacceptable for me.

Based on the above policies, I disagree to merge this pull request to TST's master, because:

The conclusion: fork this project freely.

This is just my personal, current opinion. Of course I don't think this is the final truth of the topic. If you have information which can solve my worrying, or if you explain compelling reasons that I should do it, then I possibly merge such a change.

Otherwise, I'm sorry but I never merge such pull requests to my master repository. Then please fork this project, extend, maintain, and release it for people who have same distress - it is my stance on this project. To keep my codes forkable -- this is one of reasons why I distribute all codes of TST under OSS licenses.

zuckel commented 11 years ago

Hi @piroor,

thanks for the in-depth reply. Much appreciated. I hope you do not feel pushed by my comment. It was just a factual question.

I don't know much about your codebase or about how your plugin works internally and how it integrates with firefox. From my experience of writing smaller plugins and user scripts I was assuming that it was mostly stand-alone and only using basic functionality of firefox. From your post I understand that TST is a lot more complex than I thought. In this case I understand completely that it is vital to keep a codebase small and focused. You should not include any features that you do not use yourself. They will only break and slow you down. It's also important to use stable and basic interfaces that allow you to base your own framework upon, no question. All in all, you know what is best for your TST.

As you mentioned that it might be possible to make TST smarter in the sense that I will not need to move tabs anymore, I will give you insight into how I use TST at work. There are a few tabs that are pinned, like time-booking and the daily canteen plan. Apart from that I use static named tabs (e.g. title = to read) to categorize my tabs. There will be a tree of JIRA tickets that I monitor, a tree of tickets I need to finish today, a tree of articles I plan to read up on when I find the time. Trees can get as deep as ~5 levels and up to ~10 tabs. In this way TST organizes my whole work every day, and it is a lot more efficient than other means. But I will end up moving a lot of tabs from one category to the other, and it gets frustrating quickly with the animations. This was just for your information.

I will have a look into where the animations actually come from and also look into alice0775's script. Maybe I can write my own little user script to make the behaviour better fit my working needs.

Thanks again and thank you even more for TST.

stiv-sigmal commented 9 years ago

But due to tabs’ animation it's impossible to include one tab (or tab-tree) into other! I try to drag one tab to other, but see only animation of dragging tab onto other and returning it back. Or swapping these tabs. I try hard dozens of times, but that is not work!

piroor commented 9 years ago

See also: 556717 – about:config option to disable chrome animations

piroor commented 8 years ago

I close this for triage.