piroor / treestyletab

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

Auto-hide sidetab doesn't work correctly since FF 72.0.1 #2467

Closed Nono-m0le closed 4 years ago

Nono-m0le commented 4 years ago

OS: Debian 10 FF: 72.0.1 TST: 3.3.4

Since FF 72.0.1 (was still working with FF 72.0), my sidebar isn't correctly hidding anymore. The TABs aren't shown, but the bar (empty) is still (always) visible : Here, when the sidebar should be hidden : image

Here, when I 'hover' the sidebar to show my tabs : image

I'm using this userchrome.css :

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
/* Hide Horizontal TAB Bar */
#TabsToolbar {
 visibility: collapse !important;
}

/* Hide White Header Tab Tree */
#sidebar-header {
 display: none;
}

/*
 * Description: Auto-hide sidebar.
 *
 * Contributor(s): img2tab
 */

/* To right-align the sidebar, replace all occurrences of "left" with "right", and "margin-right" with "margin-left" */

:root {
  --sidebar-hover-width: 8px;
  --sidebar-visible-width: 200px;
}

#sidebar-box {
  position: relative !important;
  overflow-x: hidden !important;
  margin-right: calc(var(--sidebar-hover-width) * -1) !important;
  left: var(--sidebar-hover-width) !important;
  min-width: var(--sidebar-hover-width) !important;
  max-width: var(--sidebar-hover-width) !important;
  opacity: 0 !important;
}

#sidebar-box:hover {
  margin-right: calc(var(--sidebar-visible-width) * -1) !important;
  left: var(--sidebar-visible-width) !important;
  min-width: var(--sidebar-visible-width) !important;
  max-width: var(--sidebar-visible-width) !important;
  opacity: 1 !important;
}

#sidebar {
  opacity: 0 !important;
}

#sidebar:hover {
  opacity: 1 !important;
}

/* #sidebar-header is hidden by default, change "none" to "inherit" to restore it. */
/*
#sidebar-header {
  display: none !important;
}
*/

/* #sidebar-splitter styles the divider between the sidebar and the rest of the browser. */
#sidebar-splitter {
}
irvinm commented 4 years ago

Try removing the entire @namespace line ...

piroor commented 4 years ago

Please see also #2450.

Nono-m0le commented 4 years ago

Ok, so the bar is hidden, but didn't expand anymore to show my tabs (or just on 2 or 3px).

Or, it's actually show my bar correctly, but only when I'm loading another tab (as soon as the page is loaded, the tab on the sidebar disapear again.

Any ideas ?

irvinm commented 4 years ago

I would suggest posting something on Reddit under r/FirefoxCSS (https://www.reddit.com/r/FirefoxCSS/) as there are some very knowledgeable CSS people there and many have TST experience.

irvinm commented 4 years ago

https://www.reddit.com/r/FirefoxCSS/comments/em95rb/ff_7201_broke_my_autohidesidebarcss_rule/

Nono-m0le commented 4 years ago

Many thanks,

This version works as expected :

/* Hide Horizontal TAB Bar */
#TabsToolbar {
 visibility: collapse !important;
}

/*
 * Description: Auto-hide sidebar.
 *
 * Contributor(s): img2tab
 */

:root {
  --sidebar-min-width: 8px;
  --sidebar-visible-width: 200px;
}

#sidebar {
  position: relative !important;
  min-width: var(--sidebar-min-width) !important;
  max-width: var(--sidebar-min-width) !important;
  opacity: 0;
}

#sidebar-box:hover :-moz-any(#sidebar,#sidebar-header) {
  min-width: var(--sidebar-visible-width) !important;
  max-width: var(--sidebar-visible-width) !important;
  margin-right: calc((var(--sidebar-visible-width) - var(--sidebar-min-width)) * -1) !important;
  z-index:1;
  opacity: 1;
}

#sidebar-header,
#sidebar-splitter {
  display: none !important;
}