From 6214f6e1e7cf1d7cde899239692bcf7479ac6609 Mon Sep 17 00:00:00 2001 From: MrOtherGuy Date: Sun, 19 Sep 2021 20:31:30 +0300 Subject: [PATCH] separate window-control-drag-space-width to -pre and -post This way we can handle maximized windows not having the other drag space like Firefox does normally. This patch additionally adds window control width values for Win7 Win8 and linux --- chrome/classic_firefox_menu_button.css | 2 +- chrome/hide_tabs_toolbar.css | 2 +- ...de_tabs_with_one_tab_w_window_controls.css | 2 +- ...ar_tabs_oneliner_menu_buttons_on_right.css | 6 ++-- chrome/navbar_tabs_oneliner_tabs_on_left.css | 2 +- .../tabs_on_bottom_menubar_on_top_patch.css | 5 ++- chrome/window_control_placeholder_support.css | 31 ++++++++++++++++--- 7 files changed, 37 insertions(+), 13 deletions(-) diff --git a/chrome/classic_firefox_menu_button.css b/chrome/classic_firefox_menu_button.css index 41fd232..c7880be 100644 --- a/chrome/classic_firefox_menu_button.css +++ b/chrome/classic_firefox_menu_button.css @@ -13,7 +13,7 @@ See the above repository for updates as well as full license text. */ --uc-fx-button-sec-color: #ffdfbf85; } -#PanelUI-button{ -moz-box-ordinal-group: 0; margin-inline: 2px var(--uc-window-drag-space-width,24px) !important; } +#PanelUI-button{ -moz-box-ordinal-group: 0; margin-inline: 2px var(--uc-window-drag-space-pre,24px) !important; } :root[tabsintitlebar] #nav-bar{ border-left-width: 0px; padding-left: 0px !important; } #PanelUI-menu-button{ -moz-box-align: start !important; } #PanelUI-menu-button > stack{ diff --git a/chrome/hide_tabs_toolbar.css b/chrome/hide_tabs_toolbar.css index ac3fb88..4de94ce 100644 --- a/chrome/hide_tabs_toolbar.css +++ b/chrome/hide_tabs_toolbar.css @@ -39,5 +39,5 @@ Window controls will be all wrong without it #toolbar-menubar[inactive] > #menubar-items { opacity: 0; pointer-events: none; - margin-left: var(--uc-window-drag-space-width,0px) + margin-left: var(--uc-window-drag-space-pre,0px) } diff --git a/chrome/hide_tabs_with_one_tab_w_window_controls.css b/chrome/hide_tabs_with_one_tab_w_window_controls.css index 82af2d9..151067c 100644 --- a/chrome/hide_tabs_with_one_tab_w_window_controls.css +++ b/chrome/hide_tabs_with_one_tab_w_window_controls.css @@ -22,7 +22,7 @@ Window controls will be all wrong without it #tabbrowser-tabs > .tabbrowser-arrowscrollbox, #tabbrowser-arrowscrollbox{ min-height: 0 !important; } -#TabsToolbar > .titlebar-spacer[type="post-tabs"]{ width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-width,0px)) !important; } +#TabsToolbar > .titlebar-spacer[type="post-tabs"]{ width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-post,0px)) !important; } #toolbar-menubar > spacer{ pointer-events: none } :root:not([customizing]) #tabs-newtab-button, diff --git a/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css b/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css index 1e374f2..f144b2d 100644 --- a/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css +++ b/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css @@ -67,11 +67,11 @@ Window controls will be all wrong without it .titlebar-placeholder[type="pre-tabs"],.titlebar-spacer[type="pre-tabs"]{ width:8px !important} #nav-bar{ margin-top: calc(0px - var(--uc-toolbar-height)); } -#nav-bar-customization-target{ margin-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-window-control-width) - var(--uc-buttons-width) - var(--uc-window-drag-space-width)) } +#nav-bar-customization-target{ margin-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-window-control-width) - var(--uc-buttons-width) - var(--uc-window-drag-space-post)) } @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled"){ .titlebar-buttonbox-container{ position: fixed; display: blocK; left: 0px; z-index: 3; } - #nav-bar-customization-target{ margin-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-buttons-width) - var(--uc-window-drag-space-width)) } + #nav-bar-customization-target{ margin-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-buttons-width) - var(--uc-window-drag-space-pre)) } } #TabsToolbar > .toolbar-items{ @@ -80,7 +80,7 @@ Window controls will be all wrong without it } .titlebar-placeholder[type="post-tabs"], .titlebar-spacer[type="post-tabs"]{ - width: calc(var(--uc-buttons-width) + var(--uc-window-drag-space-width)) !important; + width: calc(var(--uc-buttons-width) + var(--uc-window-drag-space-post)) !important; } #PanelUI-button,#nav-bar-overflow-button{ margin: 0px !important; diff --git a/chrome/navbar_tabs_oneliner_tabs_on_left.css b/chrome/navbar_tabs_oneliner_tabs_on_left.css index 895aa6d..cad8163 100644 --- a/chrome/navbar_tabs_oneliner_tabs_on_left.css +++ b/chrome/navbar_tabs_oneliner_tabs_on_left.css @@ -77,7 +77,7 @@ Window controls will be all wrong without it /* Rules specific to window controls on right layout */ @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled"){ :root:not([inFullscreen]) #TabsToolbar-customization-target > .titlebar-spacer[type="pre-tabs"]{ - width: var(--uc-window-drag-space-width) !important; + width: var(--uc-window-drag-space-post) !important; display: -moz-box !important; } #TabsToolbar > .titlebar-buttonbox-container{ display: -moz-box; } diff --git a/chrome/tabs_on_bottom_menubar_on_top_patch.css b/chrome/tabs_on_bottom_menubar_on_top_patch.css index bd4a648..f0a6b2b 100644 --- a/chrome/tabs_on_bottom_menubar_on_top_patch.css +++ b/chrome/tabs_on_bottom_menubar_on_top_patch.css @@ -15,6 +15,9 @@ See the above repository for updates as well as full license text. */ --uc-menubar-height: 29px; } +/* Since menubar is statically at top, remove fake drag-space that might be set by window_control_placeholder_support.css */ +#nav-bar{ border-inline-width: 0 } + #navigator-toolbox{ padding-top: calc(var(--uc-menubar-height) + var(--uc-titlebar-padding,0px)) !important } :root[sizemode="fullscreen"] #navigator-toolbox{ padding-top: 0px !important; } #toolbar-menubar{ @@ -32,7 +35,7 @@ See the above repository for updates as well as full license text. */ #toolbar-menubar > spacer[flex]{ order: 99; flex-grow: 1; - min-width: var(--uc-window-drag-space-width,20px); + min-width: var(--uc-window-drag-space-post,20px); } #toolbar-menubar .titlebar-button{ padding: 2px 17px !important; } diff --git a/chrome/window_control_placeholder_support.css b/chrome/window_control_placeholder_support.css index 847a5f9..89fcbdc 100644 --- a/chrome/window_control_placeholder_support.css +++ b/chrome/window_control_placeholder_support.css @@ -11,9 +11,30 @@ See the above repository for updates as well as full license text. */ /* Defaults for window controls on RIGHT side of the window */ /* Modify these values to match your preferences */ :root[tabsintitlebar]{ - --uc-window-control-width: 138px; /* Space reserved for window controls */ - --uc-window-drag-space-width: 24px; /* Extra space reserved on both sides of the nav-bar to be able to drag the window */ + --uc-window-control-width: 138px; /* Space reserved for window controls (Win10) */ + /* Extra space reserved on both sides of the nav-bar to be able to drag the window */ + --uc-window-drag-space-pre: 30px; /* left side*/ + --uc-window-drag-space-post: 30px; /* right side*/ } + +:root[tabsintitlebar][sizemode="maximized"] { + --uc-window-drag-space-pre: 0px; /* Remove pre space */ +} + +@media (-moz-os-version: windows-win7), (-moz-os-version: windows-win8) { + :root[tabsintitlebar] { + --uc-window-control-width: 105px; + } +} + +@media (-moz-gtk-csd-available) { + :root[tabsintitlebar] { + --uc-window-control-width: 84px; + } +} + +/* macOS settings are further below */ + :root[sizemode="fullscreen"] .titlebar-buttonbox-container{ display: none !important } :root[sizemode="fullscreen"] #navigator-toolbox { position: relative; } :root[sizemode="fullscreen"] #window-controls{ @@ -25,9 +46,9 @@ See the above repository for updates as well as full license text. */ } :root[uidensity="compact"][sizemode="fullscreen"] #window-controls{ height: 32px } #nav-bar{ - border-inline: var(--uc-window-drag-space-width,0px) solid var(--toolbar-bgcolor); + border-inline: var(--uc-window-drag-space-pre,0px) solid var(--toolbar-bgcolor); border-inline-style: solid !important; - border-right-width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-width,0px)); + border-right-width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-post,0px)); } /* Use this pref to check Mac OS where window controls are on left */ @@ -35,6 +56,6 @@ See the above repository for updates as well as full license text. */ @supports -moz-bool-pref("layout.css.osx-font-smoothing.enabled"){ :root{ --uc-window-control-width: 72px; } :root[tabsintitlebar="true"]:not([inFullscreen]) #nav-bar{ - border-inline-width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-width,0px)) var(--uc-window-drag-space-width,0px) + border-inline-width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-post,0px)) var(--uc-window-drag-space-pre,0px) } }