Javier-DarthPalpatine / firefox-hide-caption-titlebar-plus

Automatically exported from code.google.com/p/firefox-hide-caption-titlebar-plus
22 stars 0 forks source link

Breaks Tabbar (Left) Scrollbar Support (eg. for Tree Style Tabs Positioned on the Left) #311

Open PowerWeb5 opened 8 years ago

PowerWeb5 commented 8 years ago

When Hide Caption Titlebar Plus is enabled the scrollbar to the left of the tab bar (as seen with Tree Style Tabs with Left position for tab bar) doesn't respond to clicks (they are treated as if clicking on the edge of the window instead).

When mousewheel is used to scroll next/prev tab (eg. with Tab Wheel Scroll or Tax Mix Plus extension) then there is no way to scroll the tab bar to see the rest of the tabs if there are many tabs. Instead, clicking the scrollbars results in Firefox window being maximized/restored instead, which is even more frustrating.

The only workaround for this is to enable the "System titlebar (almost) always present" option, which pretty much disables the major features of this extension, and also makes it impossible to move the Firefox window at all (not even via spaces in the toolbar), as described in issue #312

I have tried changing nearly every available setting and nothing else fixes. I also tried disabling and/or removing custom min/max/close buttons, aero theme, and pretty much every other setting and nothing else resolves this issue.

This issue occurs with both Hide Caption Titlebar Plus Dev Channel (3.0.6rc) and Stable (v3.0.5) versions with Firefox Developer Edition 64-bit build (47.0a2 (2016-03-15)) with Windows 10 x64.

@Javier-DarthPalpatine

PowerWeb5 commented 8 years ago

@Javier-DarthPalpatine Hi Javier, Is this issue as well as issue #312 something that might be able to be fixed, so that I don't have to leave most of this extension disabled and can move the Firefox window again?

vovcacik commented 8 years ago

Can't reproduce this problem.

I can jump-by-click the scrollbar, drag it and also scroll by mouse without any problem while using Win 10, Firefox 47.0a2, HCTP 3.0.5, Tree style tab 0.17.2016031101 and System TitleBar always hidden enabled.

Include minimal reproducible example please (on clean Firefox profile).

PowerWeb5 commented 8 years ago

The issue only occurs with the Tabbar Scrollbars shown on the left side of the window (eg. when have many tabs open and Tree Style Tabs positioned on the Left).

The preference you had tried - "System TitleBar always hidden" - has no effect on the issue. The issue occurs if, and only if, "Firefox option: System TitleBar (almost) always present" is disabled (browser.tabs.drawInTitlebar = true). It can occur regardless of whether A) custom titlebar and B) system titlebar are shown. After you uncheck "System TitleBar always hidden" then "Firefox option: System TitleBar (almost) always present" is no longer grayed out (disabled) and you can uncheck it (and then can optionally re-enable "System TitleBar" and the issue will remain).

PowerWeb5 commented 8 years ago

It seems that this is actually just 1 of 3 or more different issues ( some of which were discussed in comments for issue #312) which I have identified as all being caused by browser.tabs.drawInTitlebar = true (when "Firefox option: System TitleBar (almost) always present" is disabled).

3 Issues when drawInTitlebar = true

Disabling "Firefox option: System TitleBar (almost) always present" (under Look & Feel > System TitleBar - or leaving it unchecked as the Hide Caption default / recommended setting - so that browser.tabs.drawInTitlebar = true - results in numerous issues occurring, including the following (and possibly more):

1) You can't remove Space and Flexible Space elements when Customizing Toolbars

2) Left tabbar scrollbar doesn't respond to clicks (if one is shown eg. when have many tabs with tabbar positioned on the left with Tree Style Tabs) and instead results in maximizing/restoring window if double clicking on it. (See Issue #311 )

3) Double clicking near any edge of a non-maximized window results in maximizing the window (even when inside the window, so that no resize cursor is shown) (eg. bottom or left scrollbar, or even far right side of toolbar or sometimes anywhere on far right if no scrollbar, sidebar, or sidebar switch is shown there) results (See Issue #311 )

You an see that Simply changing drawInTitlebar = false fixes these issues even when the custom titlebar is shown by first enabling "Firefox option: System TitleBar (almost) always present" and then enabling "System TitleBar always hidden" (which then grays out the the first option). Therefore, this should be able to be fixed by default without forcing either system or custom titlebar to always be shown

SUGGESTED FIX:

1) Do not disable (gray out) "Firefox option: System TitleBar (almost) always present" when "System TitleBar always hidden" because both options can and should be enabled at the same time to fix issues without interfering with showing of the custom titlebar.

2) Replace "System titlebar always hidden" checkbox with a "TitleBar Type Shown" drop-down (shown above "Show Custom Caption / TitleBar" instead of at the bottom) with values "Always Force Custom" | "Custom when fully supported (Recommended)" | "Always System" by replacing "extensions.hide_caption.plus.sys.forbid_fxaustr_syscaption" (and display related uses of "browser.tabs.drawInTitlebar = false") with extensions.hide_caption.plus.sys.syscaption = true | false | "" (default - empty string).

3A) Either modify any input (eg. click/drag) logic to treat as if always have "browser.tabs.drawInTitlebar = false" and modify any display logic to only use the new extensions.hide_caption.plus.sys.syscaption (set by drop-down)

3B) OR, have browser.tabs.drawInTitlebar set to false on first install (or upgrade to) the new version (which is currently equivalent to by checking "Firefox option: System TitleBar (almost) always present") and rename it to "Show Tabs in TitleBar (recommended: unchecked, to allow drag to move window)".

vovcacik commented 8 years ago

I still can't reproduce this on clean Firefox profile. Could the issue be caused by incompatibility with one of your other addons?

Javier-DarthPalpatine commented 8 years ago

Hi I've a new version 308pre posted at issue #312 . From that issue:

I've hopefully FIXED 1) all DRAGGING & Un/Maximizing-by-dblClick issues and 2) the Spaces customizing issues, in a new PRERELEASE version ... Tested in Windows 7 64, Fx 46b, 47a & 48a

  • I've also fixed some layout issues with non-default themes, including hctp's custom borders that may help to the issue mentioned with Tree-Style-Tabs's scrollbar.

And I've tested with TreeStyleTabs in Fx47a & 48a but couldn't reproduce the issue at left scrollbar. Could you please test again with 308pre? Tks a lot! J

PowerWeb5 commented 8 years ago

3.0.9rc Broke All Previous Workarounds

As soon as I updated to 3.0.9rc (with Firefox Dev 64-bit build with Window 10 x64), the vertical tabs scrollbar (which is shown on left side of the Firefox window, to the left of the Tree Style Tabs tabbar positioned on left side of the window, shown when there are too many tabs to fit without vertically without scrolling) was broken again, so that even the workarounds I had documented previously no longer worked.

Now whenever I click on the left vertical tabs scrollbar no longer responds to click (or even hover over) and instead is treated like titlebar or window border (of which there is none, as its 0px wide window border) instead of scrolling to show more tabs. The previous workarounds (browser.tabs.drawInTitlebar=false and "Enable Customizable Buttons (min,max,close)"=No, etc.) no longer got this to work for me.

This issue does occur, as reported, even with all other extensions (other than Tree Style Tabs which is needed to show tab bar on left side) disabled, as reported. It seems that the scrollbar is treated as if it has 1px width (and even that only for top-level tabs, for children its 0px) as seen by what is highlighted when hovering mouse over the left side vertical tabbar scrollbars.

After a lot more testing of pretty much every Hide Caption option and theme/Stylish workaround, I found a new workaround which is that both of the following settings must be as shown below:

New Workaround for Vertical Tab Tree Scrollbar

  1. extensions.hide_caption.plus.adv.scroll_via_tabbar = false
  2. browser.tabs.drawInTitlebar = false

New Workaround for Vertical Tab Tree Scrollbar (using Options Dialog)

These settings can be applied by setting the following under Hide Caption Titlebar Plus Options:

  1. Drag Fx window using Tab-bar background = unchecked (under Advanced Settings > Drag-Window)
  2. Firefox option: System TitleBar (almost) always present = unchecked (under Look & Feel > System TitleBar)

Note that "Customizable Buttons (min,max,close)" no longer matters when it comes to this workaround, and, as before, it doesn't matter whether a Persona theme is used.

To Fix / Workaround:

1. Can you rename the "extensions.hide_caption.plus.adv.scroll_via_tabbar" (after ensuring default to false) so that anyone who has this setting as true will automatically have at least part of this fix applied (previous setting ignored)?
2. Can you similarly set   browser.tabs.drawInTitlebar=false on install / upgrade?
3. Also, can you fix the underlying cause of these issue by testing with the following Steps to Reproduce:

Steps to Reproduce:

1.  Tree Style Tabs with tabbar on left side of window
2.  Open many tabs so that vertical scrollbar is shown on left side of window (for scrolling to overflow tabs not shown)
    a.  (optionally you can resize the window to be small instead of open up dozens of tabs)
    b. NOTE: This is not the same as the page content scrollbar which is shown on the right side of the window)
3.  Set  extensions.hide_caption.plus.adv.scroll_via_tabbar = true
4.  Set browser.tabs.drawInTitlebar = true
5. Try to click and drag the bar shown in the tabs tree scrollbar to scroll up/down to non-visible overflow tabs, it doesn't work, it just moves the Firefox window instead. 
6. Try double clicking on the bar results in window getting maximized/restored.

@Javier-DarthPalpatine @vovcacik

Javier-DarthPalpatine commented 8 years ago

Hi! I'll check this again! 1st some questions:

I'm confident that I will be able to fix this after reproducing it! Tks a lot!

ps; did you test also with version 3.0.8pre that I've mentioned above? ps2: And please, pass me a screenshot of your firefox window with the issue, preferably with unmaximized window.

@xeonx1

Javier-DarthPalpatine commented 8 years ago

Also test this:

@xeonx1

PowerWeb5 commented 8 years ago

I believe I had previously tested with clean profile, as well as with all other addons disabled. I have spent many many hours already testing with different versions and combinations of settings. Have you tried testing this just by setting those 2 settings I had mentioned? Doing so should reproduce it quickly.

PowerWeb5 commented 8 years ago

Yes, issue occurs in maximized and non-maximized mode. "Activate custom borders and corner resizers" was unchecked already and makes no difference.

Here is screenshot showing what looks like when the issue occurs: hide caption tree style tabs left scrollbar issue

I tested with the public release version 3.0.9rc released which I believe would incorporate your changes with 3.0.8pre, and was more easily available to install.

You mentioned in your earlier response:

I can jump-by-click the scrollbar, drag it and also scroll by mouse without any problem while using Win 10, Firefox 47.0a2, HCTP 3.0.5, Tree style tab 0.17.2016031101 and System TitleBar always hidden enabled. As noted, "System TitleBar always hidden enabled." has nothing to do with the issue. It relates instead to " Firefox option: System TitleBar (almost) always present ".

The following from my previous post are the steps to reproduce with v3.0.9rc, which seems independent of the profile or 32 vs 64-bit build. It was occurring at least when browser.tabs.drawInTitlebar = true and also when extensions.hide_caption.plus.adv.scroll_via_tabbar = true (and with the previous versions only, when Enable Custom Buttons != No)

Steps to Reproduce with v3.0.9rc

1.  Tree Style Tabs with tabbar on left side of window
2.  Open many tabs so that vertical scrollbar is shown on left side of window (for scrolling to overflow tabs not shown)
    a.  (optionally you can resize the window to be small instead of open up dozens of tabs)
    b. NOTE: This is not the same as the page content scrollbar which is shown on the right side of the window)
3.  Set  extensions.hide_caption.plus.adv.scroll_via_tabbar = true
4.  Set browser.tabs.drawInTitlebar = true
5. Try to click and drag the bar shown in the tabs tree scrollbar to scroll up/down to non-visible overflow tabs, it doesn't work, it just moves the Firefox window instead. 
6. Try double clicking on the bar results in window getting maximized/restored.
PowerWeb5 commented 8 years ago

Thankfully it seems fixed in 3.0.9.1rc. Thanks for that fix. If you want to reproduce the previous issue, it can be done (seemingly with even 32-bit and clean profile) with 3.0.9rc with the STR from my previous post (and different STR for earlier versions).