Compare commits

...

22 commits

Author SHA1 Message Date
@user0
bb7659dfda
Add @user0’s contributions as of 2023-10-30 2023-11-12 22:33:55 +01:00
@user0
4f58859466
Add @user0’s contributions as of 2023-09-30 2023-11-12 22:33:52 +01:00
Claudia Pellegrino
eda407cae9
Remove unused userContent files 2023-11-12 22:33:49 +01:00
Claudia Pellegrino
f036c507eb Release 4.2.0
Features:
 * Hide minimize/maximize/close buttons (MR 39)
 * autoconfig: set media.webrtc.camera.allow-pipewire (MR 38)
 
 Other:
 * README: update supported versions
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEVuhTDbWL3IASV/XwWuf1UT4IhcsFAmUH7NUACgkQWuf1UT4I
 hctcwQ/+NRyPe1mBvmRP9nqhhvNFw8nz6eTBe9oEzokI5DsTcgcW41y5JxRR3Wek
 iG2cwePfrAgEKEZYP67lYEizULTeAMv0st+t4c4D2a9c4WVBVVOLXQf5e9C0CviM
 H/hfHQWfflTIv9KrG2850wuBdLQC6eRsD1BR0gagnMyS6oo7mD8GmTUfyuj1XCic
 yAnBvf51MlI2z1aYyZb2yRmjaVjY4bNe1ECmQNCyxPlyPw6dRNL+hd45y5AEZEHE
 99zSIKqmGe5KocP93ZxcgPAjQBGW1htxbiKpQXOrk6UV06byGhyf0SzpLnq5GSD7
 76N3Loxh+Fe0gbJao1EluGo2yaUUX1mkoonu9Q6LQJ0HSyVRTD4f5Twu2/K3oqH6
 lLkj0ysMY3yguBg4UX7qx4LQkUpoGdG/XWDky8oxInXOIFuJf2R0dxiU8u44IfLR
 U5l4qFBklQFDyYYD/CJPIRIQDUJogxDp4T6p8EvA/8GMS8M+5UTftyJGnaR10l9Q
 X7dIHu+dbwNkfpQ1WAJKr+LXsl2LjlIRNoIpMBaYzggfdz9F94lad8xBzTvTkLHK
 ntGsx45w2LedronJiPKJfL59L/FoPMxSU5xEg3AvhLtKncD3IwTOmJqZLMjG2xPJ
 zx8Av7a6ML/im2fMzMPOIGYTGSUZ1ux6tEtHRkOnITKJ0GrmV+A=
 =vVzW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEJkCsxybnOIqyroEaeqZ957cxOc4FAmVRIjgACgkQeqZ957cx
 Oc7Gww//XFnz5icUuCM24ZJdki0+lRrknKqng72R/99L08JEy6RS4vZbWt1UJN8I
 R2Q+aca+HympnCAmI60XyANF6QrtUgyGKJen6JeA2Pxzd8nPVfy2NRUY6mjkdDXx
 JOGNvGme3WqQCFFI8KAujH8HQ4Kw1m7LQ/DOq5W6AqaxaidhgCeaotrVnrWJcc5Q
 zVWAyYuMLCud9+Q/4jjtzvoLEM2QosdZX9s5iS2NKd1VBRLQ8iE3qONKR0SWK4QV
 C3HE9VBQOtgUh2Zl9XFBjOFyHUEosmMCAz4LgsfQVMQtUXi4I2kNpBkB/BiyAW0A
 kN62ZvDK0wUXpCXHfIOxREuDkZL1XSx0tfp6JtQF9K3eijglCrbEpMB9KzunglUc
 mlUIl0bZhXy9IndktiFg0aKRCO2fswmwWrS0kc4LPntR2z8Cgja7DN2LZh198s+p
 vQIzcWaECnVN5XO394pLmyEFU+CwROU7n4x/JqBFwBZuHyr6MS2/eXeUOLX49Toz
 URlOH5uohni0yxVyUh567vXE2opm5X0L2OfN1b0rYBPDyMSvpz/s2rxay3BCyNKb
 uXBWkTI7xONqqwipVfsYNyIJro4l0xu/3uf9CAycXspan6RPx349enAtbAaoYh+s
 02sv2mcMkSJ5q1578CaS1lBTt0WkCYegedxP6Df1QtwGhzKDtM8=
 =lm/S
 -----END PGP SIGNATURE-----

Merge tag '4.2.0' into librem5-mirror

Release 4.2.0

Features:
* Hide minimize/maximize/close buttons (MR 39)
* autoconfig: set media.webrtc.camera.allow-pipewire (MR 38)

Other:
* README: update supported versions
2023-11-12 20:06:01 +01:00
@user0
53808dc807
Add @user0’s contributions as of 2023-08-14 2023-11-12 19:36:18 +01:00
@user0
b436b28843
Add @user0’s contributions as of 2023-05-22 2023-11-12 19:36:16 +01:00
@user0
ad06da4868
Add @user0’s contributions as of 2023-05-21 2023-11-12 19:36:12 +01:00
Claudia Pellegrino
e40b13098d
Start mirror of @user0’s contributions 2023-11-12 19:36:09 +01:00
Oliver Smith
a205c5fa64
autoconfig: set media.webrtc.camera.allow-pipewire (MR 38)
As suggested by Robert Mader in issue 57, thanks.
2023-09-15 09:26:12 +02:00
plata
4116b6663b
Hide minimize/maximize/close buttons (MR 39) 2023-09-15 09:23:42 +02:00
Oliver Smith
0187c6c605
README: update supported versions
Thanks to plata-gl for pointing this out. Fix #61.
2023-09-12 09:43:33 +02:00
Ulrik de Muelenaere
94cbe0452d
userChrome/urlbar: Allow urlbar to shrink down to its min width (MR 37)
This fixes one of the issues from #52, but I have not been able to
reproduce the others on Phosh.
2023-09-05 22:55:20 +02:00
Ulrik de Muelenaere
9a34fe3e95
userChrome/urlbar: Prevent urlbar from going past window bottom in FF 117 (MR 36) 2023-09-05 22:53:14 +02:00
Ulrik de Muelenaere
21163be169
autoconfig: Fix error due to Services import in FF 117 (MR 36)
Since Firefox 104 the Services global is available automatically and no
longer needs to be imported, and since Firefox 117 importing it is an
error.
2023-09-05 22:53:14 +02:00
Seth Falco
9c780dabb8
fix: add mobile to user-agent (MR 35) 2023-09-01 16:02:07 +02:00
Seth Falco
e1c533d84e
fix: don't override user-agent (MR 34) 2023-07-23 21:52:36 +01:00
Ulrik de Muelenaere
cc4a4a791b
autoconfig: Fix version detection on first start (MR 32)
Previously the Firefox version would be detected as 0 on the first
start, causing popups.before-ff-108.css to be included even on newer
versions, which breaks touch input.
2023-07-03 15:49:49 +02:00
Ulrik de Muelenaere
3959e7c476
userChrome/tabmenu: Add note to a declaration obsoleted in FF 113 (MR 31)
Firefox 113 changes from 'display: -moz-box' to 'display: flex', so the
-moz-box-flex property should be changed to flex-grow. However, that
breaks the tab menu, and it doesn't seem to be necessary anyway.
2023-05-28 20:27:54 +02:00
Ulrik de Muelenaere
4a53e32a5c
userChrome/tabmenu: Fix max width of tab menu in FF >= 106 (MR 31) 2023-05-28 20:27:54 +02:00
Ulrik de Muelenaere
8cbf7c9e30
userChrome/tabmenu: Fix height of tab menu in FF 113 (MR 31)
Without this fix, the tab menu is only tall enough for 2 or 3 entries.

This is an update of the rule directly above it, changing the ID and
changing from a calculated height to a fixed height matching its child
#allTabsMenu-allTabsView. With the calculated height, the menu entries
were offset above the top of the menu. The previous rule no longer seems
to be necessary, at least in Firefox 102 and newer, since
#allTabsMenu-multiView does not exist.
2023-05-28 20:27:54 +02:00
Ulrik de Muelenaere
3dcfd01d09
userChrome/browser: Fix bottom navigation bar in FF 113 (MR 31)
Firefox 113 changes from 'display: -moz-box' to 'display: flex', so we
need to use the order property instead of -moz-box-ordinal-group.
2023-05-28 20:27:54 +02:00
Oliver Smith
5402fa0f52
README: log file: add tail -F to example 2023-05-28 20:25:35 +02:00
67 changed files with 8211 additions and 527 deletions

View file

@ -1,17 +1,28 @@
# mobile-config-firefox # Mobile-Friendly Firefox Customizations for Librem 5 (mirror)
Mobile and privacy friendly configuration for Firefox >= 91. Mobile and privacy friendly configuration for current standard and extended
support releases of Firefox.
This does not replace a proper implementation in This **read-only mirror** is tracking all changes posted by `@user0` in the thread [Mobile-Friendly Firefox Customizations for Librem 5](https://forums.puri.sm/t/20313) on Purisms forums.
This repository is maintained by Claudia Pellegrino (`@claui`).
As a read-only mirror, its not accepting pull requests. The code in this
repository also does not replace a proper implementation in
[Firefox upstream](https://bugzilla.mozilla.org/show_bug.cgi?id=1579348) [Firefox upstream](https://bugzilla.mozilla.org/show_bug.cgi?id=1579348)
*(interesting stuff happens in issues linked in "References")*. *(interesting stuff happens in issues linked in "References")*.
---
**Note:** Below follows a copy of the original `README.md` file from the upstream project [postmarketOS/mobile-config-firefox](https://gitlab.com/postmarketOS/mobile-config-firefox/).
---
## What this config does ## What this config does
* Adapt UI elements and "about:" pages to small screen sizes (when opened on * Adapt UI elements and "about:" pages to small screen sizes (when opened on
small screen) small screen)
* Enable mobile gestures * Enable mobile gestures
* User agent set to same as Tor Browser for Android
* Privacy tweaks: * Privacy tweaks:
* Disable search suggestions * Disable search suggestions
* Disable Firefox studies * Disable Firefox studies
@ -98,10 +109,10 @@ changes are applied.
The `src/mobile-config-autoconfig.js` script generates `userChrome.css` and The `src/mobile-config-autoconfig.js` script generates `userChrome.css` and
`userContent.css` while Firefox starts. It logs to your Firefox profile `userContent.css` while Firefox starts. It logs to your Firefox profile
directory, find the log file with: directory, follow the log file with:
``` ```
$ find ~/.mozilla -name mobile-config-firefox.log $ tail -F $(find ~/.mozilla -name mobile-config-firefox.log)
``` ```
## Coding guidelines ## Coding guidelines

View file

@ -18,7 +18,7 @@
// https://web.archive.org/web/20201018211550/https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Code_snippets/File_I_O // https://web.archive.org/web/20201018211550/https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Code_snippets/File_I_O
const {classes: Cc, interfaces: Ci, utils: Cu} = Components; const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm"); const Services = globalThis.Services || Cu.import("resource://gre/modules/Services.jsm").Services; // for compatibility with FF < 104
Cu.import("resource://gre/modules/FileUtils.jsm"); Cu.import("resource://gre/modules/FileUtils.jsm");
var g_ff_version; var g_ff_version;
@ -71,12 +71,7 @@ function log_obj(obj) {
} }
function get_firefox_version() { function get_firefox_version() {
try { return Services.appinfo.version.split(".")[0];
return Services.appinfo.lastAppVersion.split(".")[0];
} catch(e) {
log("Couldn't get Firefox version (expected on first start): " + e);
return 0;
}
} }
function get_firefox_version_previous() { function get_firefox_version_previous() {
@ -250,10 +245,7 @@ function css_files_update() {
var file = css_file_get(name); var file = css_file_get(name);
if (file.exists()) { if (file.exists()) {
/* During the very first start, ff_previous is first "unknown", if (g_ff_version != ff_previous) {
* then the files get installed and Firefox gets restarted.
* Then ff_previous is 0. Don't restart it again. */
if (ff_previous != 0 && g_ff_version != ff_previous) {
log("Removing outdated file: " + file.path + " (Firefox" + log("Removing outdated file: " + file.path + " (Firefox" +
" version changed)"); " version changed)");
file.remove(false); file.remove(false);
@ -271,10 +263,30 @@ function css_files_update() {
set_firefox_version_previous(g_ff_version); set_firefox_version_previous(g_ff_version);
} }
/**
* Builds a user-agent as similar to the default as possible, but with "Mobile"
* inserted into the platforms section.
*
* @returns {string}
*/
function build_user_agent() {
var appinfo = Services.appinfo;
var vendor = appinfo.vendor || "Mozilla";
var os = appinfo.OS || "Linux";
var version = get_firefox_version() + ".0";
var name = appinfo.name || "Firefox";
var arch = (appinfo.XPCOMABI && appinfo.XPCOMABI.includes("-"))
? appinfo.XPCOMABI.split("-")[0]
: "aarch64";
return `${vendor}/5.0 (X11; ${os} ${arch}; Mobile; rv:${version}) Gecko/20100101 ${name}/${version}`;
}
function set_default_prefs() { function set_default_prefs() {
log("Setting default preferences"); log("Setting default preferences");
// Select a mobile user agent for firefox (same as tor browser on android)
defaultPref('general.useragent.override', 'Mozilla/5.0 (Android 10; Mobile; rv:110.0) Gecko/110.0 Firefox/110.0'); var user_agent = build_user_agent();
defaultPref('general.useragent.override', user_agent);
// Do not suggest facebook, ebay, reddit etc. in the urlbar. Same as // Do not suggest facebook, ebay, reddit etc. in the urlbar. Same as
// Settings -> Privacy & Security -> Address Bar -> Shortcuts. As // Settings -> Privacy & Security -> Address Bar -> Shortcuts. As
@ -297,6 +309,12 @@ function set_default_prefs() {
// shows recently closed tabs. The always pinned tab takes up screen estate // shows recently closed tabs. The always pinned tab takes up screen estate
// and it's slightly annoying if you do not want to register an account. // and it's slightly annoying if you do not want to register an account.
defaultPref('browser.tabs.firefox-view', false); defaultPref('browser.tabs.firefox-view', false);
// FF >= 116 allows to use cameras via Pipewire. While it will likely still
// take a while until this is made the default, on most mobile devices it
// makes a lot of sense to enable it unconditionally, as cameras usually
// only work with libcamera, not via plain v4l2.
defaultPref('media.webrtc.camera.allow-pipewire', true);
} }
function main() { function main() {

View file

@ -0,0 +1,78 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--alltabs-button-position: 3.5px !important;
--widget-overflow-margin: 22px;
--unified-extensions-panel-margin: 22px;
--customizationui-widget-panel-margin: 22px;
--appMenu-popup-margin: 22px;
--BMB_bookmarksPopup-margin: 22px;
}
:root[uidensity="touch"] {
--alltabs-button-position: 4.5px !important;
--widget-overflow-margin: 23px;
--unified-extensions-panel-margin: 23px;
--customizationui-widget-panel-margin: 23px;
--appMenu-popup-margin: 23px;
--BMB_bookmarksPopup-margin: 23px;
}
:root:not([uidensity="touch"],[inFullscreen]) {
--uc-bottom-toolbar-height: calc(39px + var(--toolbarbutton-outer-padding) )
}
:root[uidensity="touch"]:not([inFullscreen]){
--uc-bottom-toolbar-height: calc(43px + var(--toolbarbutton-outer-padding) )
}
/* Hide Nav Bar and Tab Bar when in Fullscreen mode and hide and Title Bar */
#nav-bar[inFullscreen],
#TabsToolbar[inFullscreen],
.titlebar-buttonbox-container {
display: none;
}
/* Move Nav Bar to bottom */
#browser,
#customization-container {
margin-bottom: var(--uc-bottom-toolbar-height,0px)
}
#nav-bar{
position: fixed !important;
bottom: 0px;
width: 100%;
z-index: 1;
}
.panel-viewstack {
max-height: unset !important;
}
/* Adjust Widget Overflow Menu (») spawn height */
#widget-overflow {
margin-bottom: var(--widget-overflow-margin) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: var(--unified-extensions-panel-margin) !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: var(--customizationui-widget-panel-margin) !important;
}
/* Adjust Main App Menu (≡) spawn height */
#appMenu-popup {
margin-bottom: var(--appMenu-popup-margin) !important;
}
/* Adjust Bookmarks Menu (★) spawn height */
#BMB_bookmarksPopup {
margin-bottom: var(--BMB_bookmarksPopup-margin) !important;
}
}

View file

@ -0,0 +1,98 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 3.5px;
--alltabs-number-position: calc(var(--toolbarbutton-inner-padding) * 1.5 );
--urlbar-width: calc(100vw - 166px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 4.5px;
--alltabs-number-position: calc(var(--toolbarbutton-inner-padding) * 1.5 );
--urlbar-width: calc(100vw - 171.5px);
}
/* Hide Nav Bar and Tab Bar when in Fullscreen mode and hide Title Bar, Newtab button, and New-tab button */
#nav-bar[inFullscreen],
#TabsToolbar[inFullscreen],
.titlebar-buttonbox-container,
#new-tab-button,
#tabs-newtab-button {
display: none !important;
}
/* Hide unpinned inactive tabs */
.tabbrowser-tab:not([pinned]):not([selected]) {
visibility: collapse !important;
min-width: 0 !important;
}
/* Expand unpinned active tab */
#tabbrowser-tabs:not([haspinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[selected] {
min-width: 100vw !important;
}
#tabbrowser-tabs[haspinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab:not([pinned])[selected] {
min-width: calc(100vw - 40px) !important;
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
}

View file

@ -7,13 +7,20 @@
* height. This is due to the position="bottomcenter topright" attribute in * height. This is due to the position="bottomcenter topright" attribute in
* the HTML, which we can't override via CSS. */ * the HTML, which we can't override via CSS. */
#appMenu-popup { #appMenu-popup {
margin-top: -390px !important; /*margin-top: -390px !important;*/
height: 310px; /*height: 310px;*/
max-height: 310px; /*max-height: 310px;*/
height: 340px;
max-height: 340px;
padding-left: 10px !important;
padding-right: 10px !important;
} }
#appMenu-protonMainView vbox.panel-subview-body { #appMenu-protonMainView vbox.panel-subview-body {
height: 300px !important; /*height: 300px !important;*/
max-height: 300px !important; /*max-height: 300px !important;*/
height: 318px !important;
max-height: 318px !important;
margin-top: 4px !important;
} }
#appMenu-multiView box.panel-viewstack:first-child { #appMenu-multiView box.panel-viewstack:first-child {
/* Use the whole space in the menu, instead of slowly increasing the /* Use the whole space in the menu, instead of slowly increasing the
@ -42,16 +49,16 @@
* are over the FF in fullscreen) */ * are over the FF in fullscreen) */
#appMenu-fxa-status2, /* FF login */ #appMenu-fxa-status2, /* FF login */
#appMenu-fxa-separator, /* FF login */ #appMenu-fxa-separator, /* FF login */
#appMenu-new-window-button2, /*#appMenu-new-window-button2,*/
#appMenu-protonMainView toolbarseparator, /* all separators */ #appMenu-protonMainView toolbarseparator, /* all separators */
#appMenu-save-file-button2, /* Save file can be done from Print too */ /*#appMenu-save-file-button2, /* Save file can be done from Print too */
#appMenu-fullscreen-button2, #appMenu-fullscreen-button2,
#appMenu-passwords-button, /* accessible from settings */ #appMenu-passwords-button, /* accessible from settings */
#appMenu-extensions-themes-button, /* accessible from settings */ /*#appMenu-extensions-themes-button, /* accessible from settings */
#appMenu-bookmarks-button, /* submenu */ /*#appMenu-bookmarks-button, /* submenu */
#appMenu-history-button, /* submenu */ /*#appMenu-history-button, /* submenu */
#appMenu-more-button2, /* submenu */ /*#appMenu-more-button2, /* submenu */
#appMenu-help-button2, /* submenu */ /*#appMenu-help-button2, /* submenu */
.subviewbutton[shortcut]::after { /* menu shortcuts ("Ctrl+T" etc.) */ .subviewbutton[shortcut]::after { /* menu shortcuts ("Ctrl+T" etc.) */
display: none !important; display: none !important;
} }

View file

@ -0,0 +1,12 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Tab color */
.tab-background {
background-color: transparent !important;
}
/* Tab border */
.tab-background[selected] {
border: 0 transparent !important;
}

View file

@ -1,10 +1,11 @@
/* Copyright 2022 plata /* Copyright 2022 plata
* SPDX-License-Identifier: MPL-2.0 */ * SPDX-License-Identifier: MPL-2.0 */
/* Move navigation bar to bottom */
@media (max-width: 700px) { @media (max-width: 700px) {
/* Move navigation bar to bottom */
#browser { #browser {
-moz-box-ordinal-group: 0 !important; -moz-box-ordinal-group: 0 !important; /* before FF 113 */
order: -1 !important; /* since FF 113 */
} }
/* Hide navigation bar in kiosk mode (to prevent bug #29). We can assume FF /* Hide navigation bar in kiosk mode (to prevent bug #29). We can assume FF
@ -15,4 +16,60 @@
#TabsToolbar[inFullscreen] { #TabsToolbar[inFullscreen] {
display: none; display: none;
} }
/* Hide minimize/maximize/close buttons */
.titlebar-buttonbox-container {
display: none;
}
/* https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/toolbars_below_content.css */
#TabsToolbar > .titlebar-buttonbox-container {
display: none;
}
/* Fix panels sizing */
.panel-viewstack {
max-height: unset !important;
}
/* Density variables */
:root:not([uidensity="touch"]) {
--widget-overflow-margin: 66px;
--unified-extensions-panel-margin: 66px;
--customizationui-widget-panel-margin: 66px;
--appMenu-popup-margin: 66px;
--BMB_bookmarksPopup-margin: 66px;
}
:root[uidensity="touch"] {
--widget-overflow-margin: 72px;
--unified-extensions-panel-margin: 72px;
--customizationui-widget-panel-margin: 72px;
--appMenu-popup-margin: 72px;
--BMB_bookmarksPopup-margin: 72px;
}
/* Adjust Widget Overflow Menu (») spawn height */
#widget-overflow {
margin-bottom: var(--widget-overflow-margin) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: var(--unified-extensions-panel-margin) !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: var(--customizationui-widget-panel-margin) !important;
}
/* Adjust Main App Menu (≡) spawn height */
#appMenu-popup {
margin-bottom: var(--appMenu-popup-margin) !important;
}
/* Adjust Bookmarks Menu (★) spawn height */
#BMB_bookmarksPopup {
margin-bottom: var(--BMB_bookmarksPopup-margin) !important;
}
} }

View file

@ -1,48 +0,0 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/color_variable_template.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* You should enable any non-default theme for these to apply properly. Built-in dark and light themes should work */
:root{
/* Popup panels */
--arrowpanel-background: olive !important;
--arrowpanel-border-color: green !important;
--arrowpanel-color: cyan !important;
--arrowpanel-dimmed: rgba(0,0,0,0.4) !important;
/* window and toolbar background */
--lwt-accent-color: red !important;
--lwt-accent-color-inactive: green !important;
--toolbar-bgcolor: rgba(0,0,0,0.4) !important;
/* tabs with system theme - text is not controlled by variable */
--tab-selected-bgcolor: powderblue !important;
/* tabs with any other theme */
--lwt-text-color: cyan !important;
--lwt-selected-tab-background-color: cornflowerblue !important;
/* toolbar area */
--toolbarbutton-icon-fill: white !important;
--lwt-toolbarbutton-hover-background: orange !important;
--lwt-toolbarbutton-active-background: red !important;
/* urlbar */
--toolbar-field-border-color: green !important;
--toolbar-field-focus-border-color: pink !important;
--urlbar-popup-url-color: cyan !important;
/* urlbar Firefox < 92 */
--lwt-toolbar-field-background-color: olive !important;
--lwt-toolbar-field-focus: grey !important;
--lwt-toolbar-field-color: red !important;
--lwt-toolbar-field-focus-color: white !important;
/* urlbar Firefox 92+ */
--toolbar-field-background-color: olive !important;
--toolbar-field-focus-background-color: grey !important;
--toolbar-field-color: red !important;
--toolbar-field-focus-color: white !important;
/* sidebar - note the sidebar-box rule for the header-area */
--lwt-sidebar-background-color: purple !important;
--lwt-sidebar-text-color: yellow !important;
}
/* line between nav-bar and tabs toolbar,
also fallback color for border around selected tab */
#navigator-toolbox{ --lwt-tabs-border-color: cyan !important; }
/* Line above tabs */
#tabbrowser-tabs{ --lwt-tab-line-color: white !important; }
/* the header-area of sidebar needs this to work */
#sidebar-box{ --sidebar-background-color: purple !important; }

View file

@ -0,0 +1,31 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Inactive tab color */
.tabbrowser-tab:not(:hover,[pinned], [selected]) > .tab-stack > .tab-background {
background-color: var(--lwt-selected-tab-background-color) !important;
}
/* Inactive tab color on hover */
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected]) {
background-color: var(--lwt-accent-color-inactive) !important;
}
/* Inactive pinned tab icon color */
.tab-icon-image[pinned]:not([selected]) {
color: var(--lwt-accent-color) !important;
}
/* Inactive tab text and close button (x) color */
.tab-text:not([pinned]):not([selected]),
.tab-icon-image:not([pinned]):not([selected]),
.tab-close-button:not([pinned]):not([selected]) {
color: var(--lwt-text-color) !important;
}
/* Inactive tab text and close button (x) color on hover */
.tabbrowser-tab:not([selected]):hover .tab-text,
.tabbrowser-tab:not([selected]):hover .tab-icon-image,
.tabbrowser-tab:not([selected]):hover .tab-close-button {
color: var(--lwt-accent-color) !important;
}

View file

@ -0,0 +1,80 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Disable tab loading burst
(because it's annoying) */
.tab-loading-burst {
display: none !important;
}
/* Tabs Toolbar and Container tab line color
(hides container tab line above tab by making it the same color as the Tabs Toolbar) */
#TabsToolbar,
.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line {
background-color: var(--tab-bgcolor) !important;
}
/* Menubar color
(hides the line at the top of the screen when Menubar is hidden) */
toolbar[type=menubar] {
background-color: black !important;
color: var(--toolbar-color) !important;
}
/* Navbar bottom border color */
#navigator-toolbox {
border-bottom-color: black !important;
}
/* Resist Fingerprinting Letterbox background color */
:root {
--tabpanel-background-color: black !important;
}
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Remove Fullscreen popup */
.pointerlockfswarning {
display: none !important;
}
/* Remove tab overflow indicators */
spacer[part=overflow-start-indicator],
spacer[part=overflow-end-indicator] {
display: none !important;
}
/* Remove spacers on left and right of main tab view */
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 0px !important;
}
.titlebar-spacer[type="post-tabs"] {
display: none !important;
}
/* Remove items from URL Bar */
#tracking-protection-icon-container,
#identity-permission-box,
#userContext-indicator,
/*#page-action-buttons,*/
#pageActionButton {
display: none !important;
}
/* URL Bar font resizing */
#urlbar-input {
font-size: 10pt !important;
}
#urlbar[focused] #urlbar-input {
font-size: calc(var(--urlbar-height) - 9px) !important;
}
/* Hide inactive tab close button (x)
to prevent accidentally closing tabs when selecting them */
.tab-close-button:not([selected]),
.tabbrowser-tab:not([selected]):hover .tab-close-button {
visibility: hidden !important;
}
}

View file

@ -0,0 +1,86 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--unified-extensions-panel-padding: 112px;
--customizationui-widget-panel-padding: 112px;
}
:root[uidensity="touch"] {
--unified-extensions-panel-padding: 110px;
--customizationui-widget-panel-padding: 110px;
}
/* Dynamically expand popups */
#unified-extensions-view {
height: calc(100vh - 171px) !important;
max-height: calc(100vh - 171px) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 165px) !important;
max-height: calc(100vh - 165px) !important;
}
#appMenu-popup,
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 0 !important;
height: calc(100vh - 107px) !important;
max-height: calc(100vh - 107px) !important;
}
/* Adjust Unified Extensions Menu and Tab Manager Menu to fill screen width */
#unified-extensions-panel,
#customizationui-widget-panel {
padding: 0 !important;
}
#customizationui-widget-multiview {
width: 100vw !important;
}
#allTabsMenu-allTabsView-tabs {
max-width: calc(100vw - 10px) !important;
}
#unified-extensions-view,
#allTabsMenu-containerTabsButton,
.all-tabs-item {
width: calc(100vw - 10px) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: 6px !important;
padding-top: var(--unified-extensions-panel-padding) !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: 6px !important;
padding-top: var(--customizationui-widget-panel-padding) !important;
}
/* Blend panels into background */
#unified-extensions-panel,
#customizationui-widget-panel {
background-color: black !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 350px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 300px !important;
}
}

View file

@ -0,0 +1,88 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--unified-extensions-view-height: calc(100vh - 57px);
--customizationui-widget-height: calc(100vh - 51px);
--unified-extensions-panel-margin: 5px;
--customizationui-widget-panel-margin: 5px;
}
:root[uidensity="touch"] {
--unified-extensions-view-height: calc(100vh - 61px);
--customizationui-widget-height: calc(100vh - 55px);
--unified-extensions-panel-margin: 6px;
--customizationui-widget-panel-margin: 6px;
}
/* Dynamically expand popups */
#unified-extensions-view {
height: var(--unified-extensions-view-height) !important;
max-height: var(--unified-extensions-view-height) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: var(--customizationui-widget-height) !important;
max-height: var(--customizationui-widget-height) !important;
}
#appMenu-popup,
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 0 !important;
height: calc(100vh - 107px) !important;
max-height: calc(100vh - 107px) !important;
}
/* Adjust Unified Extensions Menu and Tab Manager Menu to fill screen width */
#unified-extensions-panel,
#customizationui-widget-panel {
padding: 0 !important;
}
#customizationui-widget-multiview {
width: 100vw !important;
}
#allTabsMenu-allTabsView-tabs {
max-width: calc(100vw - 10px) !important;
}
#unified-extensions-view,
#allTabsMenu-containerTabsButton,
.all-tabs-item {
width: calc(100vw - 10px) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: var(--unified-extensions-panel-margin) !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: var(--customizationui-widget-panel-margin) !important;
}
/* Blend panels into background */
#unified-extensions-panel,
#customizationui-widget-panel {
background-color: black !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 370px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 300px !important;
}
}

View file

@ -0,0 +1,71 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--unified-extensions-panel-padding: 25px;
--customizationui-widget-panel-padding: 25px;
}
:root[uidensity="touch"] {
--unified-extensions-panel-padding: 22px;
--customizationui-widget-panel-padding: 22px;
}
/* Dynamically expand popups */
#unified-extensions-view {
height: calc(100vh - 100px) !important;
max-height: calc(100vh - 100px) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 95px) !important;
max-height: calc(100vh - 95px) !important;
}
#appMenu-popup,
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 0 !important;
height: calc(100vh - 107px) !important;
max-height: calc(100vh - 107px) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: 6px !important;
padding-top: var(--unified-extensions-panel-padding) !important;
padding-bottom: 17px !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: 6px !important;
padding-top: var(--customizationui-widget-panel-padding) !important;
padding-bottom: 17px !important;
}
/* Blend panels into background */
#unified-extensions-panel,
#customizationui-widget-panel {
background-color: black !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: calc(100vw - 20px) !important;
min-width: calc(100vw - 20px) !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 350px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 300px !important;
}
}

View file

@ -0,0 +1,83 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Dynamically expand popups */
#unified-extensions-view {
height: calc(100vh - 171px) !important;
max-height: calc(100vh - 171px) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 165px) !important;
max-height: calc(100vh - 165px) !important;
}
#appMenu-popup,
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 0 !important;
height: calc(100vh - 107px) !important;
max-height: calc(100vh - 107px) !important;
}
/* Adjust Unified Extensions Menu and Tab Manager Menu to fill screen width */
#unified-extensions-panel,
#customizationui-widget-panel {
padding: 0 !important;
}
#customizationui-widget-multiview {
width: 100vw !important;
}
#allTabsMenu-allTabsView-tabs {
max-width: calc(100vw - 10px) !important;
}
#unified-extensions-view,
#allTabsMenu-containerTabsButton,
.all-tabs-item {
width: calc(100vw - 10px) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: 6px !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: 6px !important;
}
/* Blend panels with views */
panel {
--panel-background: none !important;
--panel-shadow: none !important;
}
#unified-extensions-panel {
background-color: var(--arrowpanel-background) !important;
}
#customizationui-widget-panel {
/* Default color: */
/*background-color: var(--arrowpanel-background) !important;*/
/* Fenix color: */
background-color: var(--toolbar-bgcolor) !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 350px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 300px !important;
}
}

View file

@ -0,0 +1,97 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--unified-extensions-view-height: calc(100vh - 57px);
--customizationui-widget-height: calc(100vh - 51px);
--unified-extensions-panel-margin: 5px;
--customizationui-widget-panel-margin: 5px;
}
:root[uidensity="touch"] {
--unified-extensions-view-height: calc(100vh - 61px);
--customizationui-widget-height: calc(100vh - 55px);
--unified-extensions-panel-margin: 6px;
--customizationui-widget-panel-margin: 6px;
}
/* Dynamically expand popups */
#unified-extensions-view {
height: var(--unified-extensions-view-height) !important;
max-height: var(--unified-extensions-view-height) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: var(--customizationui-widget-height) !important;
max-height: var(--customizationui-widget-height) !important;
}
#appMenu-popup,
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 0 !important;
height: calc(100vh - 107px) !important;
max-height: calc(100vh - 107px) !important;
}
/* Adjust Unified Extensions Menu and Tab Manager Menu to fill screen width */
#unified-extensions-panel,
#customizationui-widget-panel {
padding: 0 !important;
}
#customizationui-widget-multiview {
width: 100vw !important;
}
#allTabsMenu-allTabsView-tabs {
max-width: calc(100vw - 10px) !important;
}
#unified-extensions-view,
#allTabsMenu-containerTabsButton,
.all-tabs-item {
width: calc(100vw - 10px) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: var(--unified-extensions-panel-margin) !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: var(--customizationui-widget-panel-margin) !important;
}
/* Blend panels with views */
panel {
--panel-background: none !important;
--panel-shadow: none !important;
}
#unified-extensions-panel {
background-color: var(--arrowpanel-background) !important;
}
#customizationui-widget-panel {
/* Default color: */
/*background-color: var(--arrowpanel-background) !important;*/
/* Fenix color: */
background-color: var(--toolbar-bgcolor) !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 370px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 300px !important;
}
}

View file

@ -9,10 +9,15 @@
* testing. */ * testing. */
#editBookmarkPanel { #editBookmarkPanel {
margin-top: -390px !important; /*margin-top: -390px !important;
height: 200px; height: 200px;
max-height: 200px; max-height: 200px;
max-width: calc(100vw - 100px); max-width: calc(100vw - 100px);*/
background-color: var(--arrowpanel-background) !important;
margin-bottom: 225px !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
} }
#editBookmarkPanel box.panel-header, #editBookmarkPanel box.panel-header,
@ -21,9 +26,11 @@
} }
#editBookmarkPanelContent { #editBookmarkPanelContent {
max-width: 250px !important; /*max-width: 250px !important;
width: 250px !important; width: 250px !important;
padding-right: 20px; padding-right: 20px;*/
padding-top: 0 !important;
padding-bottom: 0 !important;
} }
/* Hide the screenshot and the line below it. The page is right there when /* Hide the screenshot and the line below it. The page is right there when
@ -44,10 +51,12 @@
} }
#editBookmarkPanelBottomButtons { #editBookmarkPanelBottomButtons {
width: 250px !important; /*width: 250px !important;
min-width: 250px !important; min-width: 250px !important;
padding: 0px !important; padding: 0px !important;
justify-content: flex-start !important; justify-content: flex-start !important;
margin: 0px 0px 20px 0px !important; margin: 0px 0px 20px 0px !important;*/
margin-top: -5px !important;
margin-left: -50px !important;
} }
} }

View file

@ -0,0 +1,44 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Remove header, separators, and manage-extensions button */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering */
#unified-extensions-panel {
--uei-icon-size: 20px;
padding-left: 10px !important;
padding-right: 10px !important;
width: 100vw !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 325px !important;
max-height: 325px !important;
width: calc(100vw - 30px) !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: calc(100vw - 20px) !important;
min-width: calc(100vw - 20px) !important;
}
}

View file

@ -0,0 +1,364 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Main App Menu (≡) item icons */
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before,
#appMenu-protonMainView > .panel-subview-body > toolbarbutton > image {
fill: currentColor;
-moz-context-properties: fill;
margin-inline: 0 20px !important;
}
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
display: flex;
content: "";
width: 16px;
height: 16px;
}
#appMenu-new-tab-button2 {
order: 1 !important;
list-style-image: url("chrome://global/skin/icons/plus.svg");
}
#appMenu-bookmarks-button {
order: 2 !important;
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
}
#appMenu-history-button {
order: 3 !important;
list-style-image: url("chrome://browser/skin/history.svg");
}
#appMenu-downloads-button {
order: 4 !important;
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
#appMenu-extensions-themes-button {
order: 5 !important;
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
}
#appMenu-passwords-button {
order: 6 !important;
list-style-image: url("chrome://browser/skin/login.svg");
}
#appMenu-find-button2 {
order: 7 !important;
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
#appMenu-zoom-controls {
order: 8 !important;
}
#appMenu-zoom-controls::before {
background-image: url("chrome://browser/skin/fullscreen.svg");
}
#appMenu-new-window-button2 {
order: 9 !important;
list-style-image: url("chrome://browser/skin/window.svg");
}
#appMenu-new-private-window-button2 {
order: 10 !important;
list-style-image: url("chrome://browser/skin/privateBrowsing.svg");
}
#appMenu-save-file-button2 {
order: 11 !important;
list-style-image: url("chrome://browser/skin/save.svg");
}
#appMenu-print-button2 {
order: 12 !important;
list-style-image: url("chrome://global/skin/icons/print.svg");
}
#appMenu-help-button2 {
order: 13 !important;
list-style-image: url("chrome://global/skin/icons/help.svg");
}
#appMenu-more-button2 {
order: 14 !important;
list-style-image: url("chrome://global/skin/icons/developer.svg");
}
#appMenu-settings-button {
order: 15 !important;
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
#appMenu-quit-button2 {
order: 16 !important;
list-style-image: url("chrome://devtools/skin/images/search-clear.svg");
}
/* Use account-button icon for signed in sync item */
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
background-image: var(--avatar-image-url)
}
/* Apply this customization only on smaller screens in landscape mode */
@media (max-height: 300px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--urlbar-width: calc(100vw - 188.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--urlbar-width: calc(100vw - 196.5px);
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Find Bar */
input.findbar-textbox {
font-size: 12pt !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 8px !important;
font-weight: 600 !important;
font-family: "Noto Sans" !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar {
width: var(--urlbar-width) !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
}
/* Apply this customization only on smaller screens in portait mode */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 4px;
--urlbar-width: calc(100vw - 110.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 5px;
--urlbar-width: calc(100vw - 114.5px);
}
/* Main App Menu (≡) */
#appMenu-popup {
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
padding-top: 8px !important;
width: 230px !important;
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Hide Back button, Tab Bar, and Private Browsing Indicator */
#back-button,
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Find Bar */
input.findbar-textbox {
font-size: 12pt !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 9px !important;
font-weight: 600 !important;
}
/* Move Tab Manager Menu button to right of urlbar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
}

364
src/userChrome/fenix.css Normal file
View file

@ -0,0 +1,364 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Main App Menu (≡) item icons */
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before,
#appMenu-protonMainView > .panel-subview-body > toolbarbutton > image {
fill: currentColor;
-moz-context-properties: fill;
margin-inline: 0 20px !important;
}
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
display: flex;
content: "";
width: 16px;
height: 16px;
}
#appMenu-new-tab-button2 {
order: 1 !important;
list-style-image: url("chrome://global/skin/icons/plus.svg");
}
#appMenu-bookmarks-button {
order: 2 !important;
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
}
#appMenu-history-button {
order: 3 !important;
list-style-image: url("chrome://browser/skin/history.svg");
}
#appMenu-downloads-button {
order: 4 !important;
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
#appMenu-extensions-themes-button {
order: 5 !important;
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
}
#appMenu-passwords-button {
order: 6 !important;
list-style-image: url("chrome://browser/skin/login.svg");
}
#appMenu-find-button2 {
order: 7 !important;
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
#appMenu-zoom-controls {
order: 8 !important;
}
#appMenu-zoom-controls::before {
background-image: url("chrome://browser/skin/fullscreen.svg");
}
#appMenu-new-window-button2 {
order: 9 !important;
list-style-image: url("chrome://browser/skin/window.svg");
}
#appMenu-new-private-window-button2 {
order: 10 !important;
list-style-image: url("chrome://browser/skin/privateBrowsing.svg");
}
#appMenu-save-file-button2 {
order: 11 !important;
list-style-image: url("chrome://browser/skin/save.svg");
}
#appMenu-print-button2 {
order: 12 !important;
list-style-image: url("chrome://global/skin/icons/print.svg");
}
#appMenu-help-button2 {
order: 13 !important;
list-style-image: url("chrome://global/skin/icons/help.svg");
}
#appMenu-more-button2 {
order: 14 !important;
list-style-image: url("chrome://global/skin/icons/developer.svg");
}
#appMenu-settings-button {
order: 15 !important;
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
#appMenu-quit-button2 {
order: 16 !important;
list-style-image: url("chrome://devtools/skin/images/search-clear.svg");
}
/* Use account-button icon for signed in sync item */
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
background-image: var(--avatar-image-url)
}
/* Apply this customization only on smaller screens in landscape mode */
@media (max-height: 300px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--urlbar-width: calc(100vw - 188.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--urlbar-width: calc(100vw - 196.5px);
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Find Bar */
input.findbar-textbox {
font-size: 12pt !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 8px !important;
font-weight: 600 !important;
font-family: "Noto Sans" !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar {
width: var(--urlbar-width) !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
}
/* Apply this customization only on smaller screens in portait mode */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 3.5px;
--urlbar-width: calc(100vw - 110.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 4.5px;
--urlbar-width: calc(100vw - 114.5px);
}
/* Main App Menu (≡) */
#appMenu-popup {
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
padding-top: 8px !important;
width: 230px !important;
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Hide Back button, Tab Bar, and Private Browsing Indicator */
#back-button,
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Find Bar */
input.findbar-textbox {
font-size: 12pt !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 9px !important;
font-weight: 600 !important;
}
/* Move Tab Manager Menu button to right of urlbar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
}

View file

@ -0,0 +1,242 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/color_variable_template.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
:root {
/* Popup panels */
--arrowpanel-background: rgb(41,29,79) !important;
--arrowpanel-border-color: transparent !important;
--arrowpanel-color: white !important;
--arrowpanel-dimmed: rgb(97,84,124) !important;
--arrowpanel-dimmed-further: rgb(66,50,98) !important;
--panel-background: rgb(41,29,79) !important;
--panel-border-color: transparent !important;
--panel-color: white !important;
--panel-separator-color: transparent !important;
--panel-item-hover-bgcolor: rgba(255,255,255,0.2) !important;
--panel-item-active-bgcolor: rgba(255,255,255,0.2) !important;
--panel-banner-item-background-color: rgb(117,66,228) !important;
--panel-banner-item-hover-bgcolor: rgb(69,68,76) !important;
--panel-banner-item-active-bgcolor: rgb(69,68,76) !important;
--panel-banner-item-update-supported-bgcolor: rgb(117,66,228) !important;
--panel-banner-item-info-icon-bgcolor: rgb(117,66,228) !important;
--panel-banner-item-color: white !important;
--panel-description-color: white !important;
--panel-disabled-color: gray !important;
--menuitem-disabled-hover-background-color: transparent !important;
/* window and toolbar background */
--lwt-accent-color: rgb(117,66,228) !important;
--lwt-accent-color-inactive: rgba(117,66,228,0.3) !important;
--toolbar-non-lwt-bgcolor: rgb(41,29,79) !important;
--toolbar-non-lwt-textcolor: white !important;
--toolbar-bgcolor: rgb(43,42,51) !important;
--toolbar-color: rgb(171,113,255) !important;
--tabpanel-background-color: black !important;
/* tabs with system theme - text is not controlled by variable */
--tab-selected-bgcolor: rgb(117,66,228) !important;
/* tabs with any other theme */
--lwt-text-color: white !important;
--lwt-selected-tab-background-color: rgb(117,66,228) !important;
/* toolbar area */
--toolbarbutton-icon-fill: white !important;
--toolbarbutton-icon-fill-attention: white !important;
--toolbarbutton-hover-background: rgba(255,255,255,0.2) !important;
--toolbarbutton-active-background: rgba(255,255,255,0.2) !important;
--lwt-toolbarbutton-icon-fill-attention: white !important;
--lwt-toolbarbutton-hover-background: rgba(255,255,255,0.2) !important;
--lwt-toolbarbutton-active-background: rgba(255,255,255,0.2) !important;
--toolbarseparator-color: black !important;
/* urlbar */
--toolbar-field-border-color: rgb(28,27,34) !important;
--toolbar-field-focus-border-color: rgb(28,27,34) !important;
--urlbar-popup-url-color: white !important;
--urlbar-box-bgcolor: var(--button-bgcolor);
--urlbar-box-focus-bgcolor: var(--button-bgcolor);
--urlbar-box-hover-bgcolor: var(--button-hover-bgcolor);
--urlbar-box-active-bgcolor: var(--button-active-bgcolor);
--urlbar-box-text-color: inherit;
--urlbar-box-hover-text-color: var(--urlbar-box-text-color);
--lwt-brighttext-url-color: #00ddff;
/* urlbar Firefox < 92 */
--lwt-toolbar-field-background-color: rgb(28,27,34) !important;
--lwt-toolbar-field-focus: white !important;
--lwt-toolbar-field-color: white !important;
--lwt-toolbar-field-focus-color: white !important;
/* urlbar Firefox 92+ */
--toolbar-field-background-color: rgb(28,27,34) !important;
--toolbar-field-focus-background-color: rgb(28,27,34) !important;
--toolbar-field-icon-fill-attention: rgb(117,66,228) !important;
--toolbar-field-color: white !important;
--toolbar-field-focus-color: white !important;
/* sidebar - note the sidebar-box rule for the header-area */
--lwt-sidebar-background-color: rgb(41,29,79) !important;
--lwt-sidebar-text-color: white !important;
/* findbar */
--focus-outline-color: rgb(117,66,228) !important;
--input-border-color: rgb(117,66,228) !important;
/* buttons and checkboxes */
--button-bgcolor: rgb(117,66,228) !important;
--button-color: white !important;
--button-hover-bgcolor: rgb(144,89,255) !important;
--button-active-bgcolor: rgb(144,89,255) !important;
--button-primary-bgcolor: rgb(117,66,228) !important;
--button-primary-hover-bgcolor: rgb(144,89,255) !important;
--button-primary-active-bgcolor: rgb(144,89,255) !important;
--button-primary-color: white !important;
--in-content-primary-button-background: rgb(117,66,228) !important;
--in-content-primary-button-background-hover: rgb(144,89,255) !important;
--in-content-primary-button-background-active: rgb(144,89,255) !important;
--buttons-destructive-bgcolor: #e22850;
--buttons-destructive-hover-bgcolor: #c50042;
--buttons-destructive-active-bgcolor: #810220;
--buttons-destructive-color: #fbfbfe;
--checkbox-unchecked-bgcolor: rgb(41,29,79) !important;
--checkbox-unchecked-hover-bgcolor: rgb(144,89,255) !important;
--checkbox-unchecked-active-bgcolor: rgb(144,89,255) !important;
--checkbox-checked-border-color: rgb(117,66,228) !important;
--checkbox-checked-bgcolor: rgb(117,66,228) !important;
--checkbox-checked-color: white !important;
--checkbox-checked-hover-bgcolor: rgba(144,89,255) !important;
--checkbox-checked-active-bgcolor: rgba(144,89,255) !important;
--uc-checkbox-checked-bgcolor: rgb(117,66,228) !important;
/* icon glow */
--uc-icon-glow-primary: rgb(117,66,228);
--uc-icon-glow-secondary: white;
--uc-icon-glow-hover-primary: rgb(117,66,228);
--uc-icon-glow-hover-secondary: white;
}
/* line between nav-bar and tabs toolbar,
also fallback color for border around selected tab */
#navigator-toolbox {
--lwt-tabs-border-color: rgb(65,64,72) !important;
}
/* Line above tabs */
#tabbrowser-tabs {
--lwt-tab-line-color: none !important;
}
/* the header-area of sidebar needs this to work */
#sidebar-box {
--sidebar-background-color: rgb(41,29,79) !important;
}
/* Find Bar */
.findbar-find-previous,
.findbar-find-next,
input.findbar-textbox,
findbar {
border: none !important;
box-shadow: none !important;
background-color: var(--arrowpanel-background) !important;
color: var(--toolbar-field-color) !important;
}
/* Context Menus */
menupopup {
--panel-background: rgb(41,29,79) !important;
--panel-border-color: transparent !important;
--panel-color: white !important;
--panel-separator-color: transparent !important;
}
menuseparator {
display: none !important;
}
menu:hover,
menuitem:hover {
background-color: var(--panel-item-hover-bgcolor) !important;
color: var(--panel-color) !important;
}
/* Menu popup shadow */
.menupopup-arrowscrollbox {
box-shadow: 0 5px 5px -3px rgba(0,0,0,0.2),
0 8px 10px 1px rgba(0,0,0,0.14),
0 3px 14px 2px rgba(0,0,0,0.12) !important;
}
/* "Saved to Library!" popup notification */
#confirmation-hint {
--panel-background: var(--lwt-accent-color) !important;
--panel-border-color: var(--lwt-accent-color) !important;
--panel-color: var(--lwt-text-color) !important;
}
/* "Confirm before closing multiple tabs" popup checkboxes and dialog buttons */
.checkbox-check {
background-color: var(--buttons-destructive-bgcolor) !important;
color: var(--buttons-destructive-color) !important;
}
.dialog-button-box > button:nth-child(6) {
background-color: var(--buttons-destructive-bgcolor) !important;
color: var(--buttons-destructive-color) !important;
}
/* Main App Menu (≡), Tab Manager Menu, and Unified Extensions Menu */
panel {
--panel-background: black !important;
--panel-shadow: none !important;
}
.panel-viewstack {
background-color: var(--arrowpanel-background) !important;
border-color: var(--arrowpanel-background) !important;
}
/* Tab Manager Menu */
#allTabsMenu-allTabsView-tabs,
#allTabsMenu-allTabsView,
#allTabsMenu-containerTabsView {
background-color: var(--toolbar-bgcolor) !important;
}
#allTabsMenu-containerTabsButton,
#allTabsMenu-containerTabsView > .panel-header {
color: var(--toolbar-color) !important;
}
#allTabsMenu-containerTabsButton:hover {
background-color: var(--panel-banner-item-hover-bgcolor) !important;
}
.all-tabs-item[selected] {
background-color: var(--arrowpanel-dimmed-further) !important;
}
.all-tabs-item:hover[selected] {
--panel-item-active-bgcolor: transparent !important;
--panel-item-hover-bgcolor: transparent !important;
background-color: var(--arrowpanel-dimmed) !important;
}
.all-tabs-item:hover:not([selected]) {
--panel-item-active-bgcolor: transparent !important;
--panel-item-hover-bgcolor: transparent !important;
background-color: var(--panel-banner-item-hover-bgcolor) !important;
}
.all-tabs-close-button:hover {
background-color: var(--toolbarbutton-hover-background) !important;
}
/* Private Browsing Mode theme for URL Bar and Nav Bar */
:root {
--toolbar-field-border-color: var(--arrowpanel-background) !important;
--toolbar-field-focus-border-color: var(--arrowpanel-background) !important;
--lwt-toolbar-field-background-color: var(--arrowpanel-background) !important;
--toolbar-field-background-color: var(--arrowpanel-background) !important;
--toolbar-field-focus-background-color: var(--arrowpanel-background) !important;
}
#nav-bar {
background-image: -moz-linear-gradient(to right, rgb(112,34,145), rgb(57,52,115)) !important;
}
#navigator-toolbox {
--lwt-tabs-border-color: rgb(134,93,180) !important;
}

View file

@ -0,0 +1,818 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Resist Fingerprinting Letterbox background color and minimum width for display and URL Bar */
:root {
--tabpanel-background-color: black !important;
min-width: 300px !important;
}
#urlbar-container {
min-width: 150px !important;
flex-shrink: 1 !important;
}
/* Menu Bar color
(hides the line at the top/bottom of the screen when Menubar is hidden) */
toolbar[type=menubar] {
background-color: black !important;
color: var(--toolbar-color) !important;
}
/* Nav Bar bottom border color */
#navigator-toolbox {
border-bottom-color: black !important;
}
/* Remove popup warning when enterimg Fullscreen */
.pointerlockfswarning {
display: none !important;
}
/* Main App Menu (≡) item icons */
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before,
#appMenu-protonMainView > .panel-subview-body > toolbarbutton > image {
fill: currentColor;
-moz-context-properties: fill;
margin-inline: 0 20px !important;
}
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
display: flex;
content: "";
width: 16px;
height: 16px;
}
#appMenu-new-tab-button2 {
order: 1 !important;
list-style-image: url("chrome://global/skin/icons/plus.svg");
}
#appMenu-bookmarks-button {
order: 2 !important;
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
}
#appMenu-history-button {
order: 3 !important;
list-style-image: url("chrome://browser/skin/history.svg");
}
#appMenu-downloads-button {
order: 4 !important;
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
#appMenu-extensions-themes-button {
order: 5 !important;
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
}
#appMenu-passwords-button {
order: 6 !important;
list-style-image: url("chrome://browser/skin/login.svg");
}
#appMenu-find-button2 {
order: 7 !important;
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
#appMenu-zoom-controls {
order: 8 !important;
}
#appMenu-zoom-controls::before {
background-image: url("chrome://browser/skin/fullscreen.svg");
}
#appMenu-new-window-button2 {
order: 9 !important;
list-style-image: url("chrome://browser/skin/window.svg");
}
#appMenu-new-private-window-button2 {
order: 10 !important;
list-style-image: url("chrome://browser/skin/privateBrowsing.svg");
}
#appMenu-save-file-button2 {
order: 11 !important;
list-style-image: url("chrome://browser/skin/save.svg");
}
#appMenu-print-button2 {
order: 12 !important;
list-style-image: url("chrome://global/skin/icons/print.svg");
}
#appMenu-help-button2 {
order: 13 !important;
list-style-image: url("chrome://global/skin/icons/help.svg");
}
#appMenu-more-button2 {
order: 14 !important;
list-style-image: url("chrome://global/skin/icons/developer.svg");
}
#appMenu-settings-button {
order: 15 !important;
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
#appMenu-quit-button2 {
order: 16 !important;
list-style-image: url("chrome://devtools/skin/images/search-clear.svg");
}
/* Use account-button icon for signed in sync item */
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
background-image: var(--avatar-image-url)
}
/* Show Tab Manager Menu button */
#alltabs-button {
display: -moz-box !important;
}
/* Tab Manager Menu button tab counter */
#TabsToolbar-customization-target {
counter-reset: tabCount;
}
.tabbrowser-tab {
counter-increment: tabCount;
}
#alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
position: relative !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
content: counter(tabCount);
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: var(--toolbarbutton-inner-padding);
left: 50%;
transform: translateX(-50%);
}
#alltabs-button > .toolbarbutton-badge-stack {
border-radius: var(--toolbarbutton-border-radius);
}
/* Tab Manager Menu tab counter */
#allTabsMenu-allTabsViewTabs, /* before FF 106 */
#allTabsMenu-allTabsView-tabs { /* since FF 106 */
counter-reset: nn_tabs 0 !important;
}
.all-tabs-button::before {
display: -moz-inline-box !important;
-moz-padding-end: 8px !important;
content: counter(nn_tabs) !important;
font-size: 12px !important;
margin-top: -2px !important;
margin-right: -2px !important;
}
.all-tabs-item {
counter-increment: nn_tabs !important;
}
/* Apply this customization only on smaller screens in landscape mode */
@media (max-height: 300px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 4px;
--urlbar-width: calc(100vw - 188.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 5px;
--urlbar-width: calc(100vw - 196.5px);
}
/* Remove items from Main App Menu (≡) */
#appMenu-fxa-status2,
#appMenu-fxa-separator,
#appMenu-protonMainView toolbarseparator,
#appMenu-fullscreen-button2,
#appMenu-passwords-button,
.subviewbutton[shortcut]::after {
display: none !important;
}
/* Fix flickering of Main App Menu (≡) */
#appMenu-popup {
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
height: 253px !important;
max-height: 253px !important;
width: 250px !important;
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Hide Tab Bar and Private Browsing indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Hide Nav Bar when in Fullscreen mode */
#nav-bar[inFullscreen] {
display: none;
}
/* Edit Bookmark Panel */
#editBookmarkPanel {
background-color: var(--arrowpanel-background) !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
}
#editBookmarkPanel box.panel-header,
#editBookmarkHeaderSeparator,
#editBookmarkPanelInfoArea,
#editBookmarkSeparator,
#editBMPanel_folderRow,
#editBMPanel_tagsRow {
display: none !important;
}
#editBookmarkPanelContent {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
#editBookmarkPanelBottomButtons {
margin-top: -5px !important;
margin-left: -50px !important;
}
/* Find Bar*/
input.findbar-textbox {
font-size: 12pt !important;
}
/* Remove items from Tab Manager Menu */
#allTabsMenu-searchTabs,
#allTabsMenu-tabsSeparator {
display: none;
}
/* Fix flickering of Tab Manager Menu and extension popups */
#customizationui-widget-panel,
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 35px) !important;
max-height: calc(100vh - 35px) !important;
width: 100vw !important;
max-width: 100vw !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 8px !important;
font-weight: 600 !important;
font-family: "Noto Sans" !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Remove items from Unified Extensions Menu */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text in Unified Extensions Menu */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering of Unified Extensions Menu */
#unified-extensions-panel {
--uei-icon-size: 20px;
width: 360px !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 230px !important;
max-height: 230px !important;
width: 350px !important;
}
/* Add padding to bottom of Unified Extensions Menu to look better */
#unified-extensions-area {
padding-bottom: 5px !important;
}
/* Allow extensions to use full display */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
/* Adjust "Confirm before closing multiple tabs" popup */
.dialogFrame {
width: 100vw !important;
max-width: 100vw !important;
}
}
/* Apply this customization only on smaller screens in portait mode */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 4px;
--urlbar-width: calc(100vw - 110.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 5px;
--urlbar-width: calc(100vw - 114.5px);
}
/* Main App Menu (≡) */
#appMenu-popup {
padding-left: 10px !important;
padding-right: 10px !important;
height: 340px;
max-height: 340px;
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 4px !important;
height: 318px !important;
max-height: 318px !important;
width: 230px !important;
}
#appMenu-multiView box.panel-viewstack:first-child {
height: calc(100vh - 100px) !important;
max-height: calc(100vh - 100px) !important;
}
#appMenu-fxa-status2,
#appMenu-fxa-separator,
#appMenu-protonMainView toolbarseparator,
#appMenu-fullscreen-button2,
#appMenu-passwords-button,
.subviewbutton[shortcut]::after {
display: none !important;
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Hide Tab Bar and Private Browsing Indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Hide Nav Bar when in Fullscreen mode */
#nav-bar[inFullscreen] {
display: none;
}
/* Edit Bookmark Panel */
#editBookmarkPanel {
background-color: var(--arrowpanel-background) !important;
margin-bottom: 225px !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
}
#editBookmarkPanel box.panel-header,
#editBookmarkHeaderSeparator,
#editBookmarkPanelInfoArea,
#editBookmarkSeparator,
#editBMPanel_folderRow,
#editBMPanel_tagsRow {
display: none !important;
}
#editBookmarkPanelContent {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
#editBookmarkPanelBottomButtons {
margin-top: -5px !important;
margin-left: -50px !important;
}
/* Find Bar */
.findbar-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
height: 40px !important;
}
.findbar-textbox {
width: 100% !important;
}
.findbar-container checkbox {
padding: 10px 0px;
}
.findbar-highlight,
.findbar-case-sensitive,
.findbar-match-diacritics,
.findbar-entire-word,
/*.found-matches,*/
.findbar-find-status,
.find-status-icon {
display: none;
}
input.findbar-textbox {
font-size: 12pt !important;
}
/* Fix Popups */
#notification-popup {
margin-top: -500px !important;
margin-right: -500px !important;
height: calc(100vh - 250px) !important;
max-width: 100vw !important;
}
#downloadsPanel-mainView {
max-width: calc(100vw - 10px);
}
#backForwardMenu {
margin-top: -250px;
height: 200px;
min-height: 200px;
max-width: 100vw !important;
}
#context-inspect,
#context-inspect-a11y,
#context-savelinktopocket,
#context-searchselect,
#context-sendlinktodevice,
#context-viewpartialsource-selection,
#inspect-separator {
display: none !important
}
#protections-popup,
#permission-popup,
#widget-overflow,
#identity-popup {
max-width: 100vw !important;
}
#protections-popup-mainView {
min-width: 100vw !important;
max-width: 100vw !important;
}
#widget-overflow,
#widget-overflow-mainView {
height: calc(100vh - 80px) !important;
}
#customizationui-widget-panel {
width: 100vw !important;
}
#BMB_bookmarksPopup {
padding-left: 10px !important;
padding-right: 10px !important;
width: 100vw !important;
}
/* Tab Manager Menu */
#allTabsMenu-searchTabs,
#allTabsMenu-tabsSeparator {
display: none;
}
#customizationui-widget-panel {
padding-left: 10px !important;
padding-right: 10px !important;
}
#allTabsMenu-multiView box.panel-viewstack {
height: calc(100vh - 100px) !important;
max-height: calc(100vh - 100px) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: 330px !important;
max-height: 330px !important;
}
#allTabsMenu-allTabsViewTabs,
#allTabsMenu-allTabsView-tabs {
max-width: calc(100vw - 30px);
padding-top: 2px !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 8px !important;
font-weight: 600 !important;
font-family: "Noto Sans" !important;
}
/* Move Tab Manager Menu button to right of urlbar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Nav Bar */
#back-button,
#forward-button,
#customizableui-special-spring1,
#customizableui-special-spring2,
#library-button,
#sidebar-button,
#fxa-toolbar-menu-button {
display: none !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
#urlbar {
padding: 0px 5px;
}
#urlbar-input {
font-size: 10pt !important;
}
#urlbar[focused] #urlbar-input {
font-size: calc(var(--urlbar-height) - 9px) !important;
}
#urlbar[focused] #remote-control-box,
#urlbar[focused] #identity-box,
#urlbar[focused] #tracking-protection-icon-container,
#urlbar[focused] #reader-mode-button,
#urlbar[focused] #page-action-buttons,
#tracking-protection-icon-container,
#identity-permission-box,
#userContext-indicator,
#pageActionButton {
display: none;
}
#identity-icon-label {
display: none;
}
.urlbarView {
position: fixed !important;
inset: 0px 0px 84px 0px;
width: 100% !important;
background: var(--arrowpanel-background);
margin: 0px !important;
margin-inline: 0px !important;
border-inline: 0px !important;
overflow-y: auto !important;
overflow-x: none !important;
scrollbar-width: none;
}
#PersonalToolbar {
display: none;
}
:root {
--bookmarks-toolbar-overlapping-browser-height: 0 !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Remove items from Unified Extensions Menu */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text in Unified Extensions Menu */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering for Unified Extensions Menu */
#unified-extensions-panel {
--uei-icon-size: 20px;
padding-left: 10px !important;
padding-right: 10px !important;
width: 100vw !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 325px !important;
max-height: 325px !important;
width: calc(100vw - 30px) !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: calc(100vw - 20px) !important;
min-width: calc(100vw - 20px) !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
/* Adjust "Confirm before closing multiple tabs" popup */
.dialogFrame {
width: 100vw !important;
max-width: 100vw !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 120px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 64px !important;
}
}

View file

@ -0,0 +1,895 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Resist Fingerprinting Letterbox background color and minimum width for display and URL Bar */
:root {
--tabpanel-background-color: black !important;
min-width: 300px !important;
}
#urlbar-container {
min-width: 150px !important;
flex-shrink: 1 !important;
}
/* Menu Bar color
(hides the line at the top/bottom of the screen when Menubar is hidden) */
toolbar[type=menubar] {
background-color: black !important;
color: var(--toolbar-color) !important;
}
/* Nav Bar bottom border color */
#navigator-toolbox {
border-bottom-color: black !important;
}
/* Remove popup warning when enterimg Fullscreen */
.pointerlockfswarning {
display: none !important;
}
/* Main App Menu (≡) item icons */
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before,
#appMenu-protonMainView > .panel-subview-body > toolbarbutton > image {
fill: currentColor;
-moz-context-properties: fill;
margin-inline: 0 20px !important;
}
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
display: flex;
content: "";
width: 16px;
height: 16px;
}
#appMenu-new-tab-button2 {
order: 1 !important;
list-style-image: url("chrome://global/skin/icons/plus.svg");
}
#appMenu-bookmarks-button {
order: 2 !important;
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
}
#appMenu-history-button {
order: 3 !important;
list-style-image: url("chrome://browser/skin/history.svg");
}
#appMenu-downloads-button {
order: 4 !important;
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
#appMenu-extensions-themes-button {
order: 5 !important;
list-style-image: url("chrome://mozapps/skin/extensions/extension.svg");
}
#appMenu-passwords-button {
order: 6 !important;
list-style-image: url("chrome://browser/skin/login.svg");
}
#appMenu-find-button2 {
order: 7 !important;
list-style-image: url("chrome://global/skin/icons/search-glass.svg");
}
#appMenu-zoom-controls {
order: 8 !important;
}
#appMenu-zoom-controls::before {
background-image: url("chrome://browser/skin/fullscreen.svg");
}
#appMenu-new-window-button2 {
order: 9 !important;
list-style-image: url("chrome://browser/skin/window.svg");
}
#appMenu-new-private-window-button2 {
order: 10 !important;
list-style-image: url("chrome://browser/skin/privateBrowsing.svg");
}
#appMenu-save-file-button2 {
order: 11 !important;
list-style-image: url("chrome://browser/skin/save.svg");
}
#appMenu-print-button2 {
order: 12 !important;
list-style-image: url("chrome://global/skin/icons/print.svg");
}
#appMenu-help-button2 {
order: 13 !important;
list-style-image: url("chrome://global/skin/icons/help.svg");
}
#appMenu-more-button2 {
order: 14 !important;
list-style-image: url("chrome://global/skin/icons/developer.svg");
}
#appMenu-settings-button {
order: 15 !important;
list-style-image: url("chrome://global/skin/icons/settings.svg");
}
#appMenu-quit-button2 {
order: 16 !important;
list-style-image: url("chrome://devtools/skin/images/search-clear.svg");
}
/* Use account-button icon for signed in sync item */
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before {
background-image: var(--avatar-image-url)
}
/* Show Tab Manager Menu button */
#alltabs-button {
display: -moz-box !important;
}
/* Tab Manager Menu button tab counter */
#TabsToolbar-customization-target {
counter-reset: tabCount;
}
.tabbrowser-tab {
counter-increment: tabCount;
}
#alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
position: relative !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
content: counter(tabCount);
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: var(--toolbarbutton-inner-padding);
left: 50%;
transform: translateX(-50%);
}
#alltabs-button > .toolbarbutton-badge-stack {
border-radius: var(--toolbarbutton-border-radius);
}
/* Tab Manager Menu tab counter */
#allTabsMenu-allTabsViewTabs, /* before FF 106 */
#allTabsMenu-allTabsView-tabs { /* since FF 106 */
counter-reset: nn_tabs 0 !important;
}
.all-tabs-button::before {
display: -moz-inline-box !important;
-moz-padding-end: 8px !important;
content: counter(nn_tabs) !important;
font-size: 12px !important;
margin-top: -2px !important;
margin-right: -2px !important;
}
.all-tabs-item {
counter-increment: nn_tabs !important;
}
/* Apply this customization only on smaller screens in landscape mode */
@media (max-height: 300px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 3.5px;
--urlbar-width: calc(100vw - 188.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 4.5px;
--urlbar-width: calc(100vw - 196.5px);
}
/* Remove items from Main App Menu (≡) */
#appMenu-fxa-status2,
#appMenu-fxa-separator,
#appMenu-protonMainView toolbarseparator,
#appMenu-fullscreen-button2,
#appMenu-passwords-button,
.subviewbutton[shortcut]::after {
display: none !important;
}
/* Fix flickering of Main App Menu (≡) */
#appMenu-popup {
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
height: 253px !important;
max-height: 253px !important;
width: 250px !important;
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Hide Tab Bar and Private Browsing indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Hide Nav Bar when in Fullscreen mode */
#nav-bar[inFullscreen] {
display: none;
}
/* Move Nav Bar to bottom */
:root:not([uidensity="touch"],[inFullscreen]) {
--uc-bottom-toolbar-height: calc(39px + var(--toolbarbutton-outer-padding) )
}
:root[uidensity="touch"]:not([inFullscreen]){
--uc-bottom-toolbar-height: calc(43px + var(--toolbarbutton-outer-padding) )
}
#browser,
#customization-container {
margin-bottom: var(--uc-bottom-toolbar-height,0px)
}
#nav-bar{
position: fixed !important;
bottom: 0px;
width: 100%;
z-index: 1;
}
.panel-viewstack {
max-height: unset !important;
}
/* Edit Bookmark Panel */
#editBookmarkPanel {
background-color: var(--arrowpanel-background) !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
}
#editBookmarkPanel box.panel-header,
#editBookmarkHeaderSeparator,
#editBookmarkPanelInfoArea,
#editBookmarkSeparator,
#editBMPanel_folderRow,
#editBMPanel_tagsRow {
display: none !important;
}
#editBookmarkPanelContent {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
#editBookmarkPanelBottomButtons {
margin-top: -5px !important;
margin-left: -50px !important;
}
/* Find Bar*/
input.findbar-textbox {
font-size: 12pt !important;
}
/* Remove items from Tab Manager Menu */
#allTabsMenu-searchTabs,
#allTabsMenu-tabsSeparator {
display: none;
}
/* Fix flickering of Tab Manager Menu and extension popups */
#customizationui-widget-panel,
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 35px) !important;
max-height: calc(100vh - 35px) !important;
width: 100vw !important;
max-width: 100vw !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 207px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 8px !important;
font-weight: 600 !important;
font-family: "Noto Sans" !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Remove items from Unified Extensions Menu */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text in Unified Extensions Menu */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering of Unified Extensions Menu */
#unified-extensions-panel {
--uei-icon-size: 20px;
width: 360px !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 230px !important;
max-height: 230px !important;
width: 350px !important;
}
/* Add padding to bottom of Unified Extensions Menu to look better */
#unified-extensions-area {
padding-bottom: 5px !important;
}
/* Allow extensions to use full display */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
/* Adjust "Confirm before closing multiple tabs" popup */
.dialogFrame {
width: 100vw !important;
max-width: 100vw !important;
}
}
/* Apply this customization only on smaller screens in portait mode */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--widget-overflow-margin: 22px;
--unified-extensions-panel-margin: 22px;
--customizationui-widget-panel-margin: 22px;
--appMenu-popup-margin: 22px;
--BMB_bookmarksPopup-margin: 22px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 3.5px;
--urlbar-width: calc(100vw - 110.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--widget-overflow-margin: 23px;
--unified-extensions-panel-margin: 23px;
--customizationui-widget-panel-margin: 23px;
--appMenu-popup-margin: 23px;
--BMB_bookmarksPopup-margin: 23px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 4.5px;
--urlbar-width: calc(100vw - 114.5px);
}
/* Main App Menu (≡) */
#appMenu-popup {
padding-left: 10px !important;
padding-right: 10px !important;
height: 340px;
max-height: 340px;
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
margin-top: 4px !important;
height: 318px !important;
max-height: 318px !important;
width: 230px !important;
}
#appMenu-multiView box.panel-viewstack:first-child {
height: calc(100vh - 100px) !important;
max-height: calc(100vh - 100px) !important;
}
#appMenu-fxa-status2,
#appMenu-fxa-separator,
#appMenu-protonMainView toolbarseparator,
#appMenu-fullscreen-button2,
#appMenu-passwords-button,
.subviewbutton[shortcut]::after {
display: none !important;
}
/* Change Main App Menu (≡) button to its mobile equivalent (⋮) */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
margin-right: -10px !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack {
position: relative !important;
width: 75% !important;
}
#PanelUI-menu-button > .toolbarbutton-badge-stack::before {
content: "⋮";
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.9 );
left: 50%;
transform: translateX(-50%);
font-size: 18px !important;
font-weight: bold !important;
}
/* Hide Tab Bar and Private Browsing Indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Hide Nav Bar when in Fullscreen mode */
#nav-bar[inFullscreen] {
display: none;
}
/* Move Nav Bar to bottom */
:root:not([uidensity="touch"],[inFullscreen]) {
--uc-bottom-toolbar-height: calc(39px + var(--toolbarbutton-outer-padding) )
}
:root[uidensity="touch"]:not([inFullscreen]){
--uc-bottom-toolbar-height: calc(43px + var(--toolbarbutton-outer-padding) )
}
#browser,
#customization-container {
margin-bottom: var(--uc-bottom-toolbar-height,0px)
}
#nav-bar{
position: fixed !important;
bottom: 0px;
width: 100%;
z-index: 1;
}
.panel-viewstack {
max-height: unset !important;
}
/* Adjust Widget Overflow Menu (») spawn height */
#widget-overflow {
margin-bottom: var(--widget-overflow-margin) !important;
}
/* Adjust Unified Extensions Menu spawn height */
#unified-extensions-panel {
margin-bottom: var(--unified-extensions-panel-margin) !important;
}
/* Adjust Tab Manager Menu spawn height */
#customizationui-widget-panel {
margin-bottom: var(--customizationui-widget-panel-margin) !important;
}
/* Adjust Main App Menu (≡) spawn height */
#appMenu-popup {
margin-bottom: var(--appMenu-popup-margin) !important;
}
/* Adjust Bookmarks Menu (★) spawn height */
#BMB_bookmarksPopup {
margin-bottom: var(--BMB_bookmarksPopup-margin) !important;
}
/* Edit Bookmark Panel */
#editBookmarkPanel {
background-color: var(--arrowpanel-background) !important;
margin-bottom: 225px !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
}
#editBookmarkPanel box.panel-header,
#editBookmarkHeaderSeparator,
#editBookmarkPanelInfoArea,
#editBookmarkSeparator,
#editBMPanel_folderRow,
#editBMPanel_tagsRow {
display: none !important;
}
#editBookmarkPanelContent {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
#editBookmarkPanelBottomButtons {
margin-top: -5px !important;
margin-left: -50px !important;
}
/* Find Bar */
.findbar-container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
height: 40px !important;
}
.findbar-textbox {
width: 100% !important;
}
.findbar-container checkbox {
padding: 10px 0px;
}
.findbar-highlight,
.findbar-case-sensitive,
.findbar-match-diacritics,
.findbar-entire-word,
/*.found-matches,*/
.findbar-find-status,
.find-status-icon {
display: none;
}
input.findbar-textbox {
font-size: 12pt !important;
}
/* Fix Popups */
#notification-popup {
margin-top: -500px !important;
margin-right: -500px !important;
height: calc(100vh - 250px) !important;
max-width: 100vw !important;
}
#downloadsPanel-mainView {
max-width: calc(100vw - 10px);
}
#backForwardMenu {
margin-top: -250px;
height: 200px;
min-height: 200px;
max-width: 100vw !important;
}
#context-inspect,
#context-inspect-a11y,
#context-savelinktopocket,
#context-searchselect,
#context-sendlinktodevice,
#context-viewpartialsource-selection,
#inspect-separator {
display: none !important
}
#protections-popup,
#permission-popup,
#widget-overflow,
#identity-popup {
max-width: 100vw !important;
}
#protections-popup-mainView {
min-width: 100vw !important;
max-width: 100vw !important;
}
#widget-overflow,
#widget-overflow-mainView {
height: calc(100vh - 80px) !important;
}
#customizationui-widget-panel {
width: 100vw !important;
}
#BMB_bookmarksPopup {
padding-left: 10px !important;
padding-right: 10px !important;
width: 100vw !important;
}
/* Tab Manager Menu */
#allTabsMenu-searchTabs,
#allTabsMenu-tabsSeparator {
display: none;
}
#customizationui-widget-panel {
padding-left: 10px !important;
padding-right: 10px !important;
}
#allTabsMenu-multiView box.panel-viewstack {
height: calc(100vh - 100px) !important;
max-height: calc(100vh - 100px) !important;
}
#customizationui-widget-multiview box.panel-viewstack {
height: 330px !important;
max-height: 330px !important;
}
#allTabsMenu-allTabsViewTabs,
#allTabsMenu-allTabsView-tabs {
max-width: calc(100vw - 30px);
padding-top: 2px !important;
}
/* Tab Manager Menu inspired by Firefox for Android */
#allTabsMenu-containerTabsButton {
border-radius: 0 !important;
margin: 0 !important;
padding-left: 10px !important;
padding-right: 10px !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-item {
border-radius: 0 !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(100vw - 30px) !important;
}
.all-tabs-close-button {
border-radius: 100% !important;
margin-left: calc(var(--urlbar-min-height) * -0.6 ) !important;
margin-right: calc(var(--urlbar-min-height) * -0.6 ) !important;
height: calc(var(--urlbar-min-height) * 2.25 ) !important;
width: calc(var(--urlbar-min-height) * 2.25 ) !important;
}
.all-tabs-close-button > .toolbarbutton-icon {
margin-left: calc(var(--urlbar-min-height) * 0.625 ) !important;
height: calc(var(--urlbar-min-height) * 0.5 ) !important;
width: calc(var(--urlbar-min-height) * 0.5 ) !important;
}
/* Tab Manager Menu button inspired by Firefox for Android */
#alltabs-button > .toolbarbutton-badge-stack::before {
border: 1px solid var(--toolbarbutton-icon-fill);
border-radius: 2px;
bottom: calc(var(--toolbarbutton-inner-padding) * 0.85 ) !important;
padding: 0 5px 0 5px;
font-size: 8px !important;
font-weight: 600 !important;
font-family: "Noto Sans" !important;
}
/* Move Tab Manager Menu button to right of urlbar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 28.5px;
z-index: 2 !important;
}
/* Nav Bar */
#back-button,
#forward-button,
#customizableui-special-spring1,
#customizableui-special-spring2,
#library-button,
#sidebar-button,
#fxa-toolbar-menu-button {
display: none !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* URL Bar */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
#urlbar {
padding: 0px 5px;
}
#urlbar-input {
font-size: 10pt !important;
}
#urlbar[focused] #urlbar-input {
font-size: calc(var(--urlbar-height) - 9px) !important;
}
#urlbar[focused] #remote-control-box,
#urlbar[focused] #identity-box,
#urlbar[focused] #tracking-protection-icon-container,
#urlbar[focused] #reader-mode-button,
#urlbar[focused] #page-action-buttons,
#tracking-protection-icon-container,
#identity-permission-box,
#userContext-indicator,
#pageActionButton {
display: none;
}
#identity-icon-label {
display: none;
}
.urlbarView {
position: fixed !important;
inset: 0px 0px 84px 0px;
width: 100% !important;
background: var(--arrowpanel-background);
margin: 0px !important;
margin-inline: 0px !important;
border-inline: 0px !important;
overflow-y: auto !important;
overflow-x: none !important;
scrollbar-width: none;
}
#PersonalToolbar {
display: none;
}
:root {
--bookmarks-toolbar-overlapping-browser-height: 0 !important;
}
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container,
#urlbar-background {
border-radius: 7px !important;
}
/* Remove items from Unified Extensions Menu */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text in Unified Extensions Menu */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering for Unified Extensions Menu */
#unified-extensions-panel {
--uei-icon-size: 20px;
padding-left: 10px !important;
padding-right: 10px !important;
width: 100vw !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 325px !important;
max-height: 325px !important;
width: calc(100vw - 30px) !important;
}
/* Allow extensions to use full popup */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: calc(100vw - 20px) !important;
min-width: calc(100vw - 20px) !important;
}
/* Change Unified Extensions Menu button icon to Home button icon */
#unified-extensions-button {
list-style-image: url("chrome://browser/skin/home.svg") !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
/* Adjust "Confirm before closing multiple tabs" popup */
.dialogFrame {
width: 100vw !important;
max-width: 100vw !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 120px !important;
}
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 64px !important;
}
}

File diff suppressed because it is too large Load diff

1131
src/userChrome/fenix_one.css Normal file

File diff suppressed because it is too large Load diff

View file

@ -6,7 +6,8 @@
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex-wrap: wrap; flex-wrap: wrap;
height: 150px !important; /*height: 150px !important;*/
height: 40px !important;
} }
.findbar-textbox { .findbar-textbox {
@ -19,4 +20,16 @@
* them with the finger. */ * them with the finger. */
padding: 10px 0px; padding: 10px 0px;
} }
/* Save space */
.findbar-highlight,
.findbar-case-sensitive,
.findbar-match-diacritics,
.findbar-entire-word,
/*.found-matches,*/
.findbar-find-status,
.find-status-icon {
display: none;
}
} }

44
src/userChrome/glow.css Normal file
View file

@ -0,0 +1,44 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Inactive tab glow on hover */
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected]) {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
}
/* Newtab buttons (+) and Tab Manager button (v) glow on hover */
#alltabs-button:hover > .toolbarbutton-badge-stack,
#new-tab-button:hover,
#tabs-newtab-button:hover {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
}
/* Back button glow on hover */
#back-button:not([disabled]):hover > .toolbarbutton-icon {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
}
/* Forward button glow on hover */
#forward-button:not([disabled]):hover > .toolbarbutton-icon {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
}
/* Urlbar glow */
#urlbar {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
}
/* Urlbar glow on focus */
#urlbar[focused] {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
box-shadow: 0 0 3px var(--uc-icon-glow-secondary) !important;
}
/* Urlbar glow on hover */
#urlbar:hover {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
box-shadow: 0 0 3px var(--uc-icon-glow-secondary) !important;
}
/* Navbar buttons glow */
#nav-bar toolbarbutton:hover:not(#back-button):not(#forward-button) {
filter: drop-shadow(0 0 2px var(--uc-icon-glow-secondary)) drop-shadow(0 0 1px var(--uc-icon-glow-primary));
}

View file

@ -0,0 +1,13 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Hide Newtab and New-tab buttons */
#new-tab-button,
#tabs-newtab-button {
display: none !important;
}
}

View file

@ -0,0 +1,12 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Remove Tab Manager button */
#alltabs-button {
display: none !important;
}
}

View file

@ -3,63 +3,65 @@ See the above repository for updates as well as full license text. */
/* This should hide tabs scrollbuttons in a manner that preserves the ability to move tab strip when reordering tabs */ /* This should hide tabs scrollbuttons in a manner that preserves the ability to move tab strip when reordering tabs */
#tabbrowser-arrowscrollbox{ #tabbrowser-arrowscrollbox {
--uc-compat-scrollbutton-margin: 1px; /* compatibility for non_floating_sharp_tabs.css */ --uc-compat-scrollbutton-margin: 1px; /* compatibility for non_floating_sharp_tabs.css */
--uc-scrollbutton-up-background: linear-gradient(-90deg,transparent,var(--lwt-accent-color) 35%); --uc-scrollbutton-up-background: linear-gradient(-90deg,transparent,var(--lwt-accent-color) 35%);
--uc-scrollbutton-down-background: linear-gradient(90deg,transparent,var(--lwt-accent-color) 35%); --uc-scrollbutton-down-background: linear-gradient(90deg,transparent,var(--lwt-accent-color) 35%);
} }
#tabbrowser-tabs:not([movingtab]){ #tabbrowser-tabs:not([movingtab]) {
--uc-scroll-visibility: hidden; --uc-scroll-visibility: hidden;
} }
#tabbrowser-tabs[overflow]{ #tabbrowser-tabs[overflow] {
--uc-scrollbox-base-margin: -31px; --uc-scrollbox-base-margin: -31px;
--uc-scrollbox-margin: calc(var(--uc-scrollbox-base-margin) + var(--tab-shadow-max-size)); --uc-scrollbox-margin: calc(var(--uc-scrollbox-base-margin) + var(--tab-shadow-max-size));
} }
:root[uidensity="compact"] #tabbrowser-tabs[overflow]{ :root[uidensity="compact"] #tabbrowser-tabs[overflow] {
--uc-scrollbox-base-margin: -25px; --uc-scrollbox-base-margin: -25px;
} }
#tabbrowser-arrowscrollbox:not([scrolledtostart="true"]){ #tabbrowser-arrowscrollbox:not([scrolledtostart="true"]) {
--uc-scrollbox-overflow-start-margin: -1px; --uc-scrollbox-overflow-start-margin: -1px;
} }
#scrollbutton-up ~ spacer{ #scrollbutton-up ~ spacer {
visibility: visible !important; visibility: visible !important;
} }
spacer[part="overflow-start-indicator"]{ spacer[part="overflow-start-indicator"] {
-moz-box-ordinal-group: 0; /* Fx < 112 compatibility */ -moz-box-ordinal-group: 0; /* Fx < 112 compatibility */
order: -1; order: -1;
margin-inline-start: var(--uc-scrollbox-overflow-start-margin,-0.5px) !important; margin-inline-start: var(--uc-scrollbox-overflow-start-margin,-0.5px) !important;
} }
spacer[part="overflow-end-indicator"]{ spacer[part="overflow-end-indicator"] {
-moz-box-ordinal-group: 2; /* Fx < 112 compatibility */ -moz-box-ordinal-group: 2; /* Fx < 112 compatibility */
order: 2; order: 2;
} }
#scrollbutton-down[disabled="true"] > .toolbarbutton-icon, #scrollbutton-down[disabled="true"] > .toolbarbutton-icon,
#scrollbutton-up[disabled="true"] > .toolbarbutton-icon{ #scrollbutton-up[disabled="true"] > .toolbarbutton-icon {
opacity: 0.4; opacity: 0.4;
} }
#scrollbutton-up, #scrollbutton-up,
#scrollbutton-down{ #scrollbutton-down {
position: relative; position: relative;
z-index: 1; z-index: 1;
visibility: var(--uc-scroll-visibility,visible); visibility: var(--uc-scroll-visibility,visible);
background-clip: border-box !important; background-clip: border-box !important;
background-origin: initial !important; background-origin: initial !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
opacity: 1 !important; opacity: 1 !important;
} }
#scrollbutton-up{ #scrollbutton-up {
margin-inline-start: calc(0px - var(--tab-shadow-max-size,0px)) !important; margin-inline-start: calc(0px - var(--tab-shadow-max-size,0px)) !important;
background-image: var(--uc-scrollbutton-up-background); background-image: var(--uc-scrollbutton-up-background);
} }
#scrollbutton-down{ #scrollbutton-down {
margin-inline-end: calc(0px - var(--tab-shadow-max-size,0px)) !important; margin-inline-end: calc(0px - var(--tab-shadow-max-size,0px)) !important;
background-image: var(--uc-scrollbutton-down-background); background-image: var(--uc-scrollbutton-down-background);
}
.scrollbox-clip {
margin-inline: var(--uc-scrollbox-margin,0px);
} }
.scrollbox-clip{ margin-inline: var(--uc-scrollbox-margin,0px); }
/* Need to reset some things for other scrollboxes */ /* Need to reset some things for other scrollboxes */
.menupopup-arrowscrollbox{ .menupopup-arrowscrollbox {
--tab-shadow-max-size: 0; --tab-shadow-max-size: 0;
} }

View file

@ -2,12 +2,20 @@
See the above repository for updates as well as full license text. */ See the above repository for updates as well as full license text. */
/* Adds icons to main menu items which were removed in Proton */ /* Adds icons to main menu items which were removed in Proton */
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before, #appMenu-fxa-status2[fxastatus] > toolbarbutton::before,
#appMenu-protonMainView > .panel-subview-body > toolbarbutton > image{ #appMenu-protonMainView > .panel-subview-body > toolbarbutton > image{
fill: currentColor; fill: currentColor;
-moz-context-properties: fill; -moz-context-properties: fill;
margin-inline: 0 8px !important; margin-inline: 0 8px !important;
} }
#appMenu-zoom-controls::before,
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before{
display: flex;
content: "";
width: 16px;
height: 16px;
}
#appMenu-new-tab-button2{ list-style-image: url("chrome://browser/skin/new-tab.svg") } #appMenu-new-tab-button2{ list-style-image: url("chrome://browser/skin/new-tab.svg") }
#appMenu-new-window-button2{ list-style-image: url("chrome://browser/skin/window.svg") } #appMenu-new-window-button2{ list-style-image: url("chrome://browser/skin/window.svg") }
#appMenu-new-private-window-button2{ list-style-image: url("chrome://browser/skin/privateBrowsing.svg") } #appMenu-new-private-window-button2{ list-style-image: url("chrome://browser/skin/privateBrowsing.svg") }
@ -23,23 +31,17 @@ See the above repository for updates as well as full license text. */
#appMenu-more-button2{ list-style-image: url("chrome://global/skin/icons/developer.svg") } #appMenu-more-button2{ list-style-image: url("chrome://global/skin/icons/developer.svg") }
#appMenu-help-button2{ list-style-image: url("chrome://global/skin/icons/info.svg") } #appMenu-help-button2{ list-style-image: url("chrome://global/skin/icons/info.svg") }
#appMenu-quit-button2{ list-style-image: url("chrome://devtools/skin/images/search-clear.svg") } #appMenu-quit-button2{ list-style-image: url("chrome://devtools/skin/images/search-clear.svg") }
#appMenu-translate-button{ list-style-image: url("chrome://browser/skin/translations.svg") }
#appMenu-zoom-controls::before{ background-image: url("chrome://browser/skin/fullscreen.svg") }
/* Use account-button icon for signed in sync item */ /* Use account-button icon for signed in sync item */
#appMenu-fxa-status2[fxastatus] > toolbarbutton::before{ /*#appMenu-fxa-status2[fxastatus] > toolbarbutton::before{ background-image: var(--avatar-image-url) }*/
display: flex;
content: "";
width: 16px;
height: 16px;
background-image: var(--avatar-image-url)
}
/* Add somewhat hacky separator to zoom controls so it looks consistent */ /* Add somewhat hacky separator to zoom controls so it looks consistent */
#appMenu-protonMainView > .panel-subview-body::after{ /*#appMenu-protonMainView > .panel-subview-body::after{
content: ""; content: "";
display: flex; display: flex;
border-bottom: 1px solid var(--panel-separator-color); border-bottom: 1px solid var(--panel-separator-color);
margin: var(--panel-separator-margin); margin: var(--panel-separator-margin);
} }
#appMenu-find-button2 ~ *{ #appMenu-find-button2 ~ *{
-moz-box-ordinal-group: 2; /* Fx < 112 compatibility */
order: 2; order: 2;
} }*/

View file

@ -0,0 +1,18 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Hide non-overflow Newtab button */
#tabs-newtab-button {
display: none !important;
}
/* Display overflow New-tab button by default and fix alignment */
#new-tab-button {
display: initial !important;
margin-top: 4px !important;
}
}

View file

@ -1,7 +1,51 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/numbered_tabs.css made available under Mozilla Public License v. 2.0 /* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/numbered_tabs.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */ See the above repository for updates as well as full license text. */
/* Show a number before tab text*/ /* Apply this customization only on smaller screens */
@media (max-width: 700px) {
.tabbrowser-tab:first-child{ counter-reset: nth-tab 0 } /* Change to -1 for 0-indexing */ /* Density variables */
.tab-text::before{ content: counter(nth-tab) " "; counter-increment: nth-tab } :root:not([uidensity="touch"]) {
--tab-number-position: calc(var(--toolbarbutton-inner-padding) * 1.6 );
}
:root[uidensity="touch"] {
--tab-number-position: calc(var(--toolbarbutton-inner-padding) * 1.8 );
}
/* Show the tab number after tab content, right-align it, and fix its position directly on the tab close button */
#tabbrowser-tabs {
counter-reset: nth-tab 0; /* Change to -1 for 0-indexing */
}
.tabbrowser-tab .tab-content::after {
content: counter(nth-tab) " ";
counter-increment: nth-tab;
position: absolute !important;
position: fixed;
right: 24px;
bottom: var(--tab-number-position);
width: 0 !important;
}
/* Hide tab close button on unpinned tabs, and reserve space for tab number */
.tabbrowser-tab:not(:hover,[pinned]) .tab-close-button {
display: initial !important;
visibility: hidden !important;
}
/* Hide tab number on pinned tabs and when hovering on unpinned tabs so that tab close button is clickable */
.tabbrowser-tab[pinned] .tab-content::after,
.tabbrowser-tab:not([pinned]):hover .tab-content::after {
visibility: hidden !important;
}
/* Adjust tab close button opacity, border, and shape */
.tab-close-button {
position: absolute !important;
margin-right: -8px !important;
opacity: 0.5 !important;
border: 2px solid white !important;
height: 36px !important;
width: 36px !important;
}
}

View file

@ -1,15 +0,0 @@
/* Copyright 2022 Oliver Smith
* SPDX-License-Identifier: MPL-2.0 */
@media (max-width: 700px) {
/* Hack to prevent popups from flickering around. It looks like e.g. the
* editBookmarkPanel has two heights otherwise, and draws one frame with a
* short height and one frame with the proper one. */
#mainPopupSet {
position: fixed !important;
top: 0px;
left: 0px;
right: 0px;
bottom: 100px;
}
}

View file

@ -6,8 +6,11 @@
* the notifications (like the one for installing addons) displayed * the notifications (like the one for installing addons) displayed
* on-screen. */ * on-screen. */
#notification-popup { #notification-popup {
margin-left: -200px !important; /*margin-left: -200px !important;*/
margin-top: -500px !important; margin-top: -500px !important;
margin-right: -500px !important;
height: calc(100vh - 250px) !important;
max-width: 100vw !important;
} }
#downloadsPanel-mainView { #downloadsPanel-mainView {
@ -42,7 +45,7 @@
max-width: 100vw !important; max-width: 100vw !important;
} }
/* fix the protections popup gettting /* fix the protections popup getting
* too wide, making controls unaccessible */ * too wide, making controls unaccessible */
#protections-popup-mainView { #protections-popup-mainView {
min-width: 100vw !important; min-width: 100vw !important;
@ -57,4 +60,29 @@
#widget-overflow-mainView { #widget-overflow-mainView {
height: calc(100vh - 80px) !important; height: calc(100vh - 80px) !important;
} }
/* Adjust Tab Manager Menu to fix flickering */
#customizationui-widget-panel {
width: 100vw !important;
}
/* Adjust Bookmarks Menu (★) and fix flickering */
#BMB_bookmarksPopup {
padding-left: 10px !important;
padding-right: 10px !important;
width: 100vw !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
/* Adjust "Confirm before closing multiple tabs" popup */
.dialogFrame {
width: 100vw !important;
max-width: 100vw !important;
}
} }

View file

@ -3,10 +3,13 @@ See the above repository for updates as well as full license text. */
/* Make bunch of things in the main UI round */ /* Make bunch of things in the main UI round */
:root{ --toolbarbutton-border-radius: 24px !important } :root {
--toolbarbutton-border-radius: 12px !important;
--tab-border-radius: 14px !important;
}
#urlbar-input-container > box:hover, #urlbar-input-container > box:hover,
#urlbar-input-container > box[open], #urlbar-input-container > box[open],
#main-menubar > menu, #main-menubar > menu,
.titlebar-button:hover, .titlebar-button:hover,
#scrollbutton-up, #scrollbutton-up,
#scrollbutton-down, #scrollbutton-down,
@ -19,29 +22,74 @@ See the above repository for updates as well as full license text. */
.subviewbutton-back, .subviewbutton-back,
.toolbaritem-combined-buttons > toolbarbutton, .toolbaritem-combined-buttons > toolbarbutton,
#PopupSearchAutoComplete, #PopupSearchAutoComplete,
menupopup{ border-radius: 18px } menupopup {
border-radius: 10px;
}
button, button,
.tab-background{ border-radius: 30px !important; } .tab-background {
border-radius: 14px !important;
}
.panel-arrowcontent{ margin-inline-end: 0 !important; } .panel-arrowcontent {
.panel-arrow{ margin-inline: 17px !important; } margin-inline-end: 0 !important;
}
.panel-arrow {
margin-inline: 17px !important;
}
menupopup{ -moz-appearance: none !important; overflow: -moz-hidden-unscrollable !important; } menupopup {
-moz-appearance: none !important;
overflow: -moz-hidden-unscrollable !important;
}
.tabbrowser-tab[selected]::after, .tabbrowser-tab[selected]::after,
.tabbrowser-tab[beforeselected-visible]::after{ border-color: transparent !important; } .tabbrowser-tab[beforeselected-visible]::after {
border-color: transparent !important;
#nav-bar{ box-shadow: none !important; margin-top: 3px }
.tab-line{ display: none }
.tab-background[selected]{
border-top-width: 2px !important;
border-top-color: var(--lwt-tab-line-color) !important;
} }
.tabbrowser-tab[selected]{ z-index: auto !important; }
.urlbar-icon, /*#nav-bar {
toolbar toolbarbutton:not(#back-button):not(.bookmark-item):not(.titlebar-button) > .toolbarbutton-icon{ border-radius: 0px !important; clip-path: circle() } box-shadow: none !important;
margin-top: 3px;
}*/
.tab-line {
display: none;
}
menugroup:hover > menuitem{ clip-path: circle() } .tab-background[selected] {
border-top-width: 3px !important;
border-bottom-width: 3px !important;
border-left-width: 3px !important;
border-right-width: 3px !important;
border-radius: 14px !important;
}
.tabbrowser-tab[selected] {
z-index: auto !important;
}
/*.urlbar-icon,
toolbar toolbarbutton:not(#back-button):not(.bookmark-item):not(.titlebar-button) > .toolbarbutton-icon {
border-radius: 12px !important;
}*/
menugroup:hover > menuitem {
border-radius: 16px !important;
}
/* URL Bar and Search Bar shape */
#urlbar,
#searchbar,
#urlbar-input,
#urlbar-input-container {
border-radius: 12px !important;
}
#urlbar-background {
border: none !important;
border-radius: 12px !important;
}
/* Find Bar shape */
input.findbar-textbox {
border-radius: 9px !important;
font-size: 14px !important;
}

View file

@ -0,0 +1,98 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 48px;
--alltabs-number-position: calc(var(--toolbarbutton-inner-padding) * 1.5 );
--urlbar-width: calc(100vw - 166px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 54px;
--alltabs-number-position: calc(var(--toolbarbutton-inner-padding) * 1.5 );
--urlbar-width: calc(100vw - 171.5px);
}
/* Hide Nav Bar and Tab Bar when in Fullscreen mode and hide Title Bar, Newtab button, and New-tab button */
#nav-bar[inFullscreen],
#TabsToolbar[inFullscreen],
.titlebar-buttonbox-container,
#new-tab-button,
#tabs-newtab-button {
display: none !important;
}
/* Hide unpinned inactive tabs */
.tabbrowser-tab:not([pinned]):not([selected]) {
visibility: collapse !important;
min-width: 0 !important;
}
/* Expand unpinned active tab */
#tabbrowser-tabs:not([haspinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[selected] {
min-width: 100vw !important;
}
#tabbrowser-tabs[haspinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab:not([pinned])[selected] {
min-width: calc(100vw - 40px) !important;
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
}

View file

@ -0,0 +1,98 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 4.5px;
--alltabs-number-position: calc(var(--toolbarbutton-inner-padding) * 1.5 );
--urlbar-width: calc(100vw - 166px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 5.5px;
--alltabs-number-position: calc(var(--toolbarbutton-inner-padding) * 1.5 );
--urlbar-width: calc(100vw - 171.5px);
}
/* Hide Nav Bar and Tab Bar when in Fullscreen mode and hide Title Bar, Newtab button, and New-tab button */
#nav-bar[inFullscreen],
#TabsToolbar[inFullscreen],
.titlebar-buttonbox-container,
#new-tab-button,
#tabs-newtab-button {
display: none !important;
}
/* Hide unpinned inactive tabs */
.tabbrowser-tab:not([pinned]):not([selected]) {
visibility: collapse !important;
min-width: 0 !important;
}
/* Expand unpinned active tab */
#tabbrowser-tabs:not([haspinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[selected] {
min-width: 100vw !important;
}
#tabbrowser-tabs[haspinnedtabs] > #tabbrowser-arrowscrollbox > .tabbrowser-tab:not([pinned])[selected] {
min-width: calc(100vw - 40px) !important;
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
}

View file

@ -3,30 +3,37 @@ See the above repository for updates as well as full license text. */
/* Creates a colorful animated border around active tab */ /* Creates a colorful animated border around active tab */
@keyframes filter{from{ filter: hue-rotate(0deg) } to { filter: hue-rotate(360deg) }} @keyframes filter {
from {
.tabbrowser-tab[selected] > .tab-stack::before{ filter: hue-rotate(0deg)
grid-area: 1/1; }
content: ""; to {
display: inherit; filter: hue-rotate(360deg)
margin-block: var(--tab-block-margin); }
border-radius: var(--tab-border-radius); }
z-index: 0;
background-image: conic-gradient( .tabbrowser-tab[selected] > .tab-stack::before {
hsl(0 100% 70%), grid-area: 1/1;
hsl(60 100% 45%) 70deg, content: "";
hsl(120 100% 55%) 105deg, display: inherit;
hsl(160 100% 60%) 160deg, margin-block: var(--tab-block-margin);
hsl(200 100% 60%) 200deg, border-radius: var(--tab-border-radius);
hsl(240 100% 65%) 255deg, z-index: 0;
hsl(300 100% 60%) 290deg, background-image: conic-gradient(
hsl(360 100% 70%) 360deg); hsl(0 100% 70%),
background-size: cover; hsl(60 100% 45%) 70deg,
background-position: center; hsl(120 100% 55%) 105deg,
animation: filter steps(30) 2s infinite; hsl(160 100% 60%) 160deg,
hsl(200 100% 60%) 200deg,
hsl(240 100% 65%) 255deg,
hsl(300 100% 60%) 290deg,
hsl(360 100% 70%) 360deg);
background-size: cover;
background-position: center;
animation: filter steps(30) 2s infinite;
}
.tab-background[selected] {
border: 1px solid transparent !important;
outline: none !important;
background-clip: padding-box !important;
} }
.tab-background[selected]{
border: 1px solid transparent !important;
outline: none !important;
background-clip: padding-box !important;
}

View file

@ -2,10 +2,10 @@
See the above repository for updates as well as full license text. */ See the above repository for updates as well as full license text. */
/* Always show tab close button on hover and never otherwise */ /* Always show tab close button on hover and never otherwise */
.tabbrowser-tab .tab-close-button{ .tabbrowser-tab .tab-close-button {
display:none; display: none;
}
.tabbrowser-tab:not([pinned]):hover .tab-close-button {
display: flex !important;
align-items: center;
} }
.tabbrowser-tab:not([pinned]):hover .tab-close-button{
display: flex !important;
align-items: center;
}

View file

@ -0,0 +1,54 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source from reddit users /u/BatDogOnBatMobile, /u/moko1960, and /u/It_Was_The_Other_Guy
https://teddit.net/r/FirefoxCSS/comments/s4wsww/
https://teddit.net/r/FirefoxCSS/comments/yb8tr9/ */
/* Show Tab Manager Menu button */
#alltabs-button {
display: -moz-box !important;
}
/* Tab Manager Menu button tab counter */
#TabsToolbar-customization-target {
counter-reset: tabCount;
}
.tabbrowser-tab {
counter-increment: tabCount;
}
#alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {
visibility: collapse !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
position: relative !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
content: counter(tabCount);
color: var(--toolbarbutton-icon-fill);
opacity: var(--toolbarbutton-icon-fill-opacity);
position: absolute;
bottom: var(--toolbarbutton-inner-padding);
left: 50%;
transform: translateX(-50%);
}
#alltabs-button > .toolbarbutton-badge-stack {
border-radius: var(--toolbarbutton-border-radius);
}
/* Tab Manager Menu tab counter */
#allTabsMenu-allTabsViewTabs, /* before FF 106 */
#allTabsMenu-allTabsView-tabs { /* since FF 106 */
counter-reset: nn_tabs 0 !important;
}
.all-tabs-button::before {
display: -moz-inline-box !important;
-moz-padding-end: 8px !important;
content: counter(nn_tabs) !important;
font-size: 12px !important;
margin-top: -2px !important;
margin-right: -2px !important;
}
.all-tabs-item {
counter-increment: nn_tabs !important;
}

View file

@ -6,7 +6,7 @@
* the tab bar for the private-browsing-indicator (that mask icon). This * the tab bar for the private-browsing-indicator (that mask icon). This
* gives the tab bar a consistent width in both the regular and the private * gives the tab bar a consistent width in both the regular and the private
* browsing mode, so the increased width hack below looks good in both. */ * browsing mode, so the increased width hack below looks good in both. */
#titlebar { /*#titlebar {
padding-right: 30px; padding-right: 30px;
} }
hbox.private-browsing-indicator { hbox.private-browsing-indicator {
@ -14,24 +14,25 @@
right: 0px; right: 0px;
bottom: 50px; bottom: 50px;
display: block; display: block;
} }*/
/* Increase tab width, to have more space for displaying the title of the /* Increase tab width, to have more space for displaying the title of the
* website and to make the "all tabs" button show up. */ * website and to make the "all tabs" button show up. */
#tabbrowser-tabs { /*#tabbrowser-tabs {
--tab-min-width: calc(100vw - 116px) !important; --tab-min-width: calc(100vw - 116px) !important;
} }*/
/* Rotate the arrow on the "all tabs" button to point upwards, since the /* Rotate the arrow on the "all tabs" button to point upwards, since the
* tabs and searchbar were moved to the bottom. */ * tabs and searchbar were moved to the bottom. */
#alltabs-button { /*#alltabs-button {
transform: rotate(180deg) !important; transform: rotate(180deg) !important;
} }*/
/* All tabs menu: hide scroll buttons */ /* All tabs menu: hide scroll buttons */
#scrollbutton-up, #scrollbutton-down { /*#scrollbutton-up,
#scrollbutton-down {
display: none !important; display: none !important;
} }*/
/* All tabs menu: hide the search and the separator below it. */ /* All tabs menu: hide the search and the separator below it. */
#allTabsMenu-searchTabs, #allTabsMenu-searchTabs,
@ -45,36 +46,50 @@
/* Further up than appmenu, because the "all tabs" button that spawns /* Further up than appmenu, because the "all tabs" button that spawns
* this menu is above the hamburger button that spawns the regular * this menu is above the hamburger button that spawns the regular
* menu. */ * menu. */
margin-top: -360px !important; /*margin-top: -360px !important;*/
height: 320px; padding-left: 10px !important;
max-height: 320px; padding-right: 10px !important;
/*height: 320px;*/
/*max-height: 320px;*/
} }
#allTabsMenu-allTabsView vbox.panel-subview-body { /*#allTabsMenu-allTabsView vbox.panel-subview-body {
/* Use the whole height */ /* Use the whole height */
height: 300px !important; /*height: 300px !important;
max-height: 300px !important; /*max-height: 300px !important;
/* When messing around with tabs, it gets into a state where it does /* When messing around with tabs, it gets into a state where it does
* not use the whole height anymore, it becomes a tiny window. Removing * not use the whole height anymore, it becomes a tiny window. Removing
* this attribute fixes it. */ * this attribute fixes it. Since FF 113, this no longer has any
-moz-box-flex: initial !important; * effect, but it doesn't seem to be necessary either. */
} /*-moz-box-flex: initial !important;
}*/
#allTabsMenu-allTabsView vbox.panel-subview-body:first-child { /*#allTabsMenu-allTabsView vbox.panel-subview-body:first-child {
/* the allTabsMenu has a vbox.panel-subview-body inside another one. /* the allTabsMenu has a vbox.panel-subview-body inside another one.
* With -moz-box-flex: initial, it will show a scroll bar in each, but * With -moz-box-flex: initial, it will show a scroll bar in each, but
* we only want one scrollbar. */ * we only want one scrollbar. */
overflow-y: hidden !important; /*overflow-y: hidden !important;
} }*/
#allTabsMenu-multiView box.panel-viewstack { #allTabsMenu-multiView box.panel-viewstack { /* before FF 102 or earlier */
/* Use the whole height */ /* Use the whole height */
height: calc(100vh - 100px) !important; height: calc(100vh - 100px) !important;
max-height: calc(100vh - 100px) !important; max-height: calc(100vh - 100px) !important;
} }
#customizationui-widget-multiview box.panel-viewstack { /* since FF 113 */
/* Use the whole height */
/*height: 300px !important;
max-height: 300px !important;*/
height: 330px !important;
max-height: 330px !important;
}
#allTabsMenu-allTabsViewTabs { #allTabsMenu-allTabsViewTabs, /* before FF 106 */
#allTabsMenu-allTabsView-tabs { /* since FF 106 */
/* Make sure tabs with long titles don't exceed the all tabs menu */ /* Make sure tabs with long titles don't exceed the all tabs menu */
max-width: calc(100vw - 20px); /*max-width: calc(100vw - 20px);*/
max-width: calc(100vw - 30px);
/* Fix padding */
padding-top: 2px !important;
} }
} }

View file

@ -1,5 +1,12 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_fill_available_width.css made available under Mozilla Public License v. 2.0 /* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_fill_available_width.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */ See the above repository for updates as well as full license text. */
/* Why 100vw? Tab closing requires width animation to end and "none" can't be animated */ /* Apply this customization only on smaller screens */
.tabbrowser-tab[fadein]:not([style^="max-width"]){ max-width: 100vw !important } @media (max-width: 700px) {
/* Why 100vw? Tab closing requires width animation to end and "none" can't be animated */
.tabbrowser-tab[fadein]:not([style^="max-width"]) {
max-width: 100vw !important;
}
}

View file

@ -0,0 +1,7 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Tab min-width resizing */
#tabbrowser-tabs {
--tab-min-width: 24vw !important;
}

View file

@ -0,0 +1,204 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens in landscape mode */
@media (max-height: 300px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 4px;
--urlbar-width: calc(100vw - 205.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 5px;
--urlbar-width: calc(100vw - 209.5px);
}
/* Remove items from Main App Menu (≡) */
#appMenu-fxa-status2,
#appMenu-fxa-separator,
#appMenu-protonMainView toolbarseparator,
#appMenu-fullscreen-button2,
#appMenu-passwords-button,
.subviewbutton[shortcut]::after {
display: none !important;
}
/* Remove extra space above zoom controls in Main App Menu (≡) */
#appMenu-zoom-controls {
margin-top: 0 !important;
}
/* Fix flickering of Main App Menu (≡) */
#appMenu-popup {
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
height: 253px !important;
max-height: 253px !important;
width: 250px !important;
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Hide Tab Bar and Private Browsing indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Edit Bookmark Panel */
#editBookmarkPanel {
background-color: var(--arrowpanel-background) !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
}
#editBookmarkPanel box.panel-header,
#editBookmarkHeaderSeparator,
#editBookmarkPanelInfoArea,
#editBookmarkSeparator,
#editBMPanel_folderRow,
#editBMPanel_tagsRow {
display: none !important;
}
#editBookmarkPanelContent {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
#editBookmarkPanelBottomButtons {
margin-top: -5px !important;
margin-left: -50px !important;
}
/* Remove items from Tab Manager Menu */
#allTabsMenu-searchTabs,
#allTabsMenu-tabsSeparator {
display: none;
}
/* Fix flickering of Tab Manager Menu and extension popups */
#customizationui-widget-panel,
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 35px) !important;
max-height: calc(100vh - 35px) !important;
width: 100vw !important;
max-width: 100vw !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
/* Remove items from Unified Extensions Menu */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text in Unified Extensions Menu */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering of Unified Extensions Menu */
#unified-extensions-panel {
--uei-icon-size: 20px;
width: 360px !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 230px !important;
max-height: 230px !important;
width: 350px !important;
}
/* Add padding to bottom of Unified Extensions Menu to look better */
#unified-extensions-area {
padding-bottom: 5px !important;
}
/* Allow extensions to use full display */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
}
/* Apply this customization only on smaller screens in portrait mode */
@media (max-width: 700px) {
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 64px !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 120px !important;
}
}

View file

@ -0,0 +1,230 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens in landscape mode */
@media (max-height: 300px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 3.5px;
--urlbar-width: calc(100vw - 205.5px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 4.5px;
--urlbar-width: calc(100vw - 209.5px);
}
/* Remove items from Main App Menu (≡) */
#appMenu-fxa-status2,
#appMenu-fxa-separator,
#appMenu-protonMainView toolbarseparator,
#appMenu-fullscreen-button2,
#appMenu-passwords-button,
.subviewbutton[shortcut]::after {
display: none !important;
}
/* Remove extra space above zoom controls in Main App Menu (≡) */
#appMenu-zoom-controls {
margin-top: 0 !important;
}
/* Fix flickering of Main App Menu (≡) */
#appMenu-popup {
width: 260px !important;
}
#appMenu-protonMainView vbox.panel-subview-body {
height: 253px !important;
max-height: 253px !important;
width: 250px !important;
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Hide Tab Bar and Private Browsing indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Move Nav Bar to bottom */
:root:not([uidensity="touch"],[inFullscreen]) {
--uc-bottom-toolbar-height: calc(39px + var(--toolbarbutton-outer-padding) )
}
:root[uidensity="touch"]:not([inFullscreen]){
--uc-bottom-toolbar-height: calc(43px + var(--toolbarbutton-outer-padding) )
}
#browser,
#customization-container {
margin-bottom: var(--uc-bottom-toolbar-height,0px)
}
#nav-bar{
position: fixed !important;
bottom: 0px;
width: 100%;
z-index: 1;
}
#nav-bar[inFullscreen],
#TabsToolbar[inFullscreen],
.titlebar-buttonbox-container {
display: none;
}
.panel-viewstack {
max-height: unset !important;
}
/* Edit Bookmark Panel */
#editBookmarkPanel {
background-color: var(--arrowpanel-background) !important;
max-height: 100vh !important;
max-width: 100vw !important;
width: 100vw !important;
}
#editBookmarkPanel box.panel-header,
#editBookmarkHeaderSeparator,
#editBookmarkPanelInfoArea,
#editBookmarkSeparator,
#editBMPanel_folderRow,
#editBMPanel_tagsRow {
display: none !important;
}
#editBookmarkPanelContent {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
#editBookmarkPanelBottomButtons {
margin-top: -5px !important;
margin-left: -50px !important;
}
/* Remove items from Tab Manager Menu */
#allTabsMenu-searchTabs,
#allTabsMenu-tabsSeparator {
display: none;
}
/* Fix flickering of Tab Manager Menu and extension popups */
#customizationui-widget-panel,
#customizationui-widget-multiview box.panel-viewstack {
height: calc(100vh - 35px) !important;
max-height: calc(100vh - 35px) !important;
width: 100vw !important;
max-width: 100vw !important;
}
/* Move Tab Manager Menu button to right of URL Bar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
/* Remove items from Unified Extensions Menu */
#unified-extensions-panel .panel-header,
#unified-extensions-panel toolbarseparator,
#unified-extensions-manage-extensions {
display: none !important;
}
/* Adjust button padding and font size for secondary text in Unified Extensions Menu */
#unified-extensions-panel .subviewbutton {
padding: 6px !important;
}
.unified-extensions-item-message {
font-size: 75% !important;
}
/* Fix flickering of Unified Extensions Menu */
#unified-extensions-panel {
--uei-icon-size: 20px;
width: 360px !important;
}
#unified-extensions-view {
margin-top: 6px !important;
height: 230px !important;
max-height: 230px !important;
width: 350px !important;
}
/* Add padding to bottom of Unified Extensions Menu to look better */
#unified-extensions-area {
padding-bottom: 5px !important;
}
/* Allow extensions to use full display */
.webextension-popup-browser {
height: 100% !important;
min-height: 100% !important;
width: 100vw !important;
min-width: 100vw !important;
}
/* Adjust "Saved to Library!" popup notification */
#confirmation-hint {
padding: 10px !important;
width: 100vw !important;
}
}
/* Apply this customization only on smaller screens in portrait mode */
@media (max-width: 700px) {
/* Added extra space to bottom of Main App Menu (≡) to compensate for orientation problem that would leave some items hidden in portrait mode when Main App Menu (≡) is first opened in landscape mode */
#appMenu-quit-button2 {
margin-bottom: 64px !important;
}
/* Added extra space to bottom of Unified Extensions Menu to compensate for orientation problem that would leave some extensions hidden in portrait mode when Unified Extentions Menu is first opened in landscape mode */
#unified-extensions-area {
padding-bottom: 120px !important;
}
}

View file

@ -0,0 +1,79 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 4px;
--urlbar-width: calc(100vw - 166px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 5px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 5px;
--urlbar-width: calc(100vw - 171.5px);
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Hide Tab Bar and Private Browsing Indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Move Tab Manager Menu button to right of urlbar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
top: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
}

View file

@ -0,0 +1,79 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/******************************************/
/* IMPORTANT: */
/* */
/* One of the things this code will do is */
/* to move the Tab Manager Menu button to */
/* the right side of the URL Bar. */
/* */
/* For the best results, consider moving */
/* the Unified Extensions Menu button to */
/* the left of the URL Bar and removing */
/* less important toolbar items by using */
/* the "Customize Toolbar" feature, or by */
/* using a user.js file in your profile. */
/******************************************/
/* Apply this customization only on smaller screens */
@media (max-width: 700px) {
/* Density variables */
:root:not([uidensity="touch"]) {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 32px;
--alltabs-button-width: 32px;
--alltabs-button-position: 3.5px;
--urlbar-width: calc(100vw - 166px);
}
:root[uidensity="touch"] {
--PanelUI-menu-button-position: 4px;
--alltabs-button-height: 34px;
--alltabs-button-width: 34px;
--alltabs-button-position: 4.5px;
--urlbar-width: calc(100vw - 171.5px);
}
/* Move Main App Menu (≡) button to allow room for Tab Manager Menu button */
#PanelUI-menu-button {
position: absolute !important;
right: 0px !important;
bottom: var(--PanelUI-menu-button-position) !important;
}
/* Hide Tab Bar and Private Browsing Indicator */
#tabbrowser-tabs,
#private-browsing-indicator-with-label {
visibility: collapse !important;
}
/* Move Tab Manager Menu button to right of urlbar */
:root {
--tab-border-radius: var(--toolbarbutton-border-radius) !important;
}
#alltabs-button > .toolbarbutton-badge-stack {
height: var(--alltabs-button-height) !important;
width: var(--alltabs-button-width) !important;
}
#alltabs-button {
position: absolute;
bottom: var(--alltabs-button-position) !important;
right: 41.5px;
z-index: 2 !important;
}
#alltabs-button > .toolbarbutton-badge-stack::before {
bottom: calc(var(--toolbarbutton-inner-padding) * 0.7 ) !important;
}
/* Allow room for Tab Manager Menu button */
#nav-bar {
padding-right: 67px !important;
}
/* Reduce URL Bar width */
#urlbar-container {
max-width: var(--urlbar-width) !important;
}
}

View file

@ -4,6 +4,7 @@
/* Reduce minimum window width */ /* Reduce minimum window width */
#urlbar-container { #urlbar-container {
min-width: 150px !important; min-width: 150px !important;
flex-shrink: 1 !important;
} }
@media (max-width: 700px) { @media (max-width: 700px) {
@ -19,7 +20,7 @@
/* #back-button */ /* #back-button */
#forward-button, #forward-button,
/* #reload-button */ /* #reload-button */
#home-button, /*#home-button,*/
#customizableui-special-spring1, #customizableui-special-spring1,
/* (urlbar) */ /* (urlbar) */
#customizableui-special-spring2, #customizableui-special-spring2,
@ -82,6 +83,14 @@
#PersonalToolbar { #PersonalToolbar {
display: none; display: none;
} }
/* If the bookmarks toolbar is configured to only show on the new tab page,
* Firefox makes the toolbar overlap the browser. When it's then hidden by
* the rule above, the urlbar is pushed off the bottom of the window. To
* prevent this, set the height of the overlapped toolbar to 0. */
:root {
--bookmarks-toolbar-overlapping-browser-height: 0 !important;
}
} }
/* Even though amazon is removed as search engine in policies.json, it gets /* Even though amazon is removed as search engine in policies.json, it gets

View file

@ -0,0 +1,66 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source files available here:
https://gitlab.com/postmarketOS/mobile-config-firefox/-/archive/master/mobile-config-firefox-master.zip
https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/
https://forums.puri.sm/t/mobile-friendly-firefox-customizations-for-librem-5/20313
*/
/*
@import "fenix_colors.css";
*/
@import "true_mobile_landscape-alt.css";
/*
@import "true_mobile_landscape.css";
*/
@import "appMenu.css";
/*
@import "browser.css";
*/
@import "editBookmarkPanel.css";
@import "findbar.css";
@import "popups.css";
@import "root.css";
@import "tabmenu.css";
@import "urlbar.css";
@import "extensions_menu.css";
/*
@import "alt-browser-alt.css";
*/
@import "custom_rules.css";
@import "hide_tabs_scrollbuttons.css";
@import "tab_close_button_always_on_hover.css";
@import "iconized_main_menu.css";
@import "round_ui_items.css";
/*
@import "tab_counter.css";
*/
@import "hide_tab_counter.css";
/*
@import "hide_newtab_+_new-tab_buttons.css";
*/
@import "new-tab-button.css";
@import "tabs_larger_min-width.css";
@import "tabs_fill_available_width.css";
/*
@import "glow.css";
@import "colorful_inactive_tabs.css";
@import "tab_animated_active_border.css";
@import "borderless_transparent_active_tab.css";
*/

View file

@ -0,0 +1,58 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source files available here:
https://gitlab.com/postmarketOS/mobile-config-firefox/-/archive/master/mobile-config-firefox-master.zip
https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/
https://forums.puri.sm/t/mobile-friendly-firefox-customizations-for-librem-5/20313
*/
@import "fenix_colors.css";
/*
@import "true_mobile_landscape-alt.css";
*/
@import "true_mobile_landscape.css";
@import "appMenu.css";
/*
@import "browser.css";
*/
@import "editBookmarkPanel.css";
@import "findbar.css";
@import "popups.css";
@import "root.css";
@import "tabmenu.css";
@import "urlbar.css";
@import "extensions_menu.css";
@import "alt-browser-alt.css";
@import "custom_rules.css";
/*
@import "round_ui_items.css";
*/
@import "numbered_tabs.css";
@import "tab_counter.css";
/*
@import "fenix-alt.css";
*/
@import "fenix.css";
/*
@import "dynamic_popups.css";
@import "dynamic_popups_plus.css";
@import "dynamic_popups_max.css";
*/
@import "dynamic_popups_pro.css";
/*
@import "dynamic_popups_pro_max.css";
*/

View file

@ -0,0 +1,26 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source files available here:
https://gitlab.com/postmarketOS/mobile-config-firefox/-/archive/master/mobile-config-firefox-master.zip
https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/
https://forums.puri.sm/t/mobile-friendly-firefox-customizations-for-librem-5/20313
*/
/*
@import "fenix_colors.css";
@import "fenix_fox-alt.css";
*/
@import "fenix_fox.css";
/*
@import "dynamic_popups.css";
@import "dynamic_popups_plus.css";
@import "dynamic_popups_max.css";
*/
@import "dynamic_popups_pro.css";
/*
@import "dynamic_popups_pro_max.css";
*/

View file

@ -0,0 +1,24 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source files available here:
https://gitlab.com/postmarketOS/mobile-config-firefox/-/archive/master/mobile-config-firefox-master.zip
https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/
https://forums.puri.sm/t/mobile-friendly-firefox-customizations-for-librem-5/20313
*/
/*
@import "fenix_one-alt.css";
*/
@import "fenix_one.css";
/*
@import "dynamic_popups.css";
@import "dynamic_popups_plus.css";
@import "dynamic_popups_max.css";
*/
@import "dynamic_popups_pro.css";
/*
@import "dynamic_popups_pro_max.css";
*/

View file

@ -0,0 +1,64 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source files available here:
https://gitlab.com/postmarketOS/mobile-config-firefox/-/archive/master/mobile-config-firefox-master.zip
https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/
https://forums.puri.sm/t/mobile-friendly-firefox-customizations-for-librem-5/20313
*/
/*
@import "fenix_colors.css";
@import "true_mobile_landscape-alt.css";
*/
@import "true_mobile_landscape.css";
@import "appMenu.css";
@import "browser.css";
@import "editBookmarkPanel.css";
@import "findbar.css";
@import "popups.css";
@import "root.css";
@import "tabmenu.css";
@import "urlbar.css";
@import "extensions_menu.css";
/*
@import "alt-browser-alt.css";
*/
@import "custom_rules.css";
@import "hide_tabs_scrollbuttons.css";
@import "tab_close_button_always_on_hover.css";
@import "iconized_main_menu.css";
@import "round_ui_items.css";
/*
@import "single_tab_mode-alt.css";
@import "alt-single_tab_mode-alt.css";
*/
@import "single_tab_mode.css";
@import "numbered_tabs.css";
@import "tab_counter.css";
/*
@import "glow.css";
@import "colorful_inactive_tabs.css";
@import "tab_animated_active_border.css";
@import "borderless_transparent_active_tab.css";
*/

View file

@ -0,0 +1,60 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
/* Source files available here:
https://gitlab.com/postmarketOS/mobile-config-firefox/-/archive/master/mobile-config-firefox-master.zip
https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/
https://forums.puri.sm/t/mobile-friendly-firefox-customizations-for-librem-5/20313
*/
/*
@import "fenix_colors.css";
@import "true_mobile_landscape-alt.css";
*/
@import "true_mobile_landscape.css";
@import "appMenu.css";
/*
@import "browser.css";
*/
@import "editBookmarkPanel.css";
@import "findbar.css";
@import "popups.css";
@import "root.css";
@import "tabmenu.css";
@import "urlbar.css";
@import "extensions_menu.css";
@import "alt-browser-alt.css";
@import "custom_rules.css";
@import "iconized_main_menu.css";
@import "round_ui_items.css";
@import "numbered_tabs.css";
@import "tab_counter.css";
/*
@import "true_mobile_mode-alt.css";
*/
@import "true_mobile_mode.css";
/*
@import "dynamic_popups.css";
@import "dynamic_popups_plus.css";
@import "dynamic_popups_max.css";
*/
@import "dynamic_popups_pro.css";
/*
@import "dynamic_popups_pro_max.css";
*/

View file

@ -1,8 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:addons"), url-prefix("about:addons") {
:root {
--section-width: min(664px, 100%) !important;
}
}

View file

@ -1,37 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:config") {
#search-container,
#toolbar, #prefs {
min-width: 300px !important;
}
@media (max-width: 644px) {
#toolbar {
flex-direction: column;
}
#about-config-search {
max-width: 100%;
}
#prefs {
word-wrap: anywhere;
}
.checkbox-container {
margin-top: 5px;
}
}
@media (max-width: 500px) {
tr {
font-size: 12px;
}
th {
padding-left: 8px !important;
}
}
}

View file

@ -1,18 +0,0 @@
/* Copyright 2022 Oliver Smith
* SPDX-License-Identifier: MPL-2.0 */
@namespace url("http://www.w3.org/1999/xhtml");
@-moz-document url("about:home"), url("about:blank"), url("about:newtab") {
@media (max-width: 700px) {
.outer-wrapper.only-search {
padding-top: 50px !important;
}
.customize-menu {
width: 100% !important;
}
}
}

View file

@ -1,11 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:license") {
@media (max-width: 500px) {
.license-header {
background-image: none !important;
padding-inline-end: unset !important;
}
}
}

View file

@ -1,24 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:logins") {
.container {
min-width: 300px !important;
}
@media (max-width: 700px) {
body {
--sidebar-width: 200px !important;
grid-template-columns: var(--sidebar-width) 1fr !important;
}
.edit-button, .delete-button {
font-size: 0 !important;
background-position: center;
}
#branding-logo {
display: none;
}
}
}

View file

@ -1,11 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:policies"), url-prefix("about:policies") {
@media (max-width: 830px) {
tbody.collapsible td,
.active-policies td {
word-wrap: anywhere;
}
}
}

View file

@ -1,23 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document regexp("about:preferences.*") {
.sticky-container {
display: flex;
}
#policies-container {
display: none;
}
/* #sync page */
.fxaMobilePromo {
display: none;
}
@media (max-width: 700px) {
.fxaSyncIllustration {
display: none;
}
}
}

View file

@ -1,49 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:protections") {
#report-content {
width: calc(100% - 16px) !important;
max-width: 800px !important;
}
/* hide element with Firefox for Android and iOS ad */
.lockwise-card .card-body,
#mobile-hanger {
display: none !important;
}
@media (max-width: 800px) {
#report-content {
margin: 16px 8px !important;
}
.icon {
width: 32px !important;
height: 32px !important;
}
.body-wrapper {
/* make trackers report to fill the entire card width */
grid-column-start: 1 !important;
grid-column-end: -1 !important;
}
#manage-protections,
#sign-up-for-monitor-link,
#save-passwords-button,
#get-proxy-extension-link {
/* move button on a separate row */
grid-area: 2 / 1 / 2 / 6 !important;
}
.card-header .wrapper {
grid-row-gap: 8px !important;
}
.card:not(.has-logins) .wrapper div:nth-child(1) {
/* make card title to use more width */
grid-column-end: -1 !important;
}
}
}

View file

@ -1,55 +0,0 @@
/* Copyright 2022 Tim Magee
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url-prefix("about:reader") {
@media (max-width: 800px) {
.toolbar-container {
margin-inline-start: 0px !important;
position: fixed !important;
top: 0px !important;
height: 74px !important;
width: 100% !important;
left: 0px !important;
background-color: rgba(255,255,255,1);
}
.dark .toolbar-container {
background-color: rgba(3,3,3,1);
}
.sepia .toolbar-container {
background-color: rgba(244,236,216,1);
}
.toolbar {
margin-inline-start: unset !important;
width: unset !important;
}
.dropdown li {
display: inline !important;
}
.dropdown {
display: inline;
}
body {
padding: 74px 0px !important;
margin: 15px 15px 0px !important;
--content-width: unset !important;
}
.header > h1 {
margin: 10px 0 !important;
}
.header > .meta-data {
margin: 0 0 5px !important;
}
.header > .credits {
margin: 0 0 5px !important;
}
}
}

View file

@ -1,11 +0,0 @@
/* Copyright 2022 Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document url("about:rights") {
@media (max-width: 500px) {
.rights-header {
background-image: none !important;
padding-inline-end: unset !important;
}
}
}

View file

@ -1,42 +0,0 @@
/* Copyright 2022 plata, Anri Dellal
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document regexp("about:(preferences|addons|policies).*") {
.category-icon {
user-select: none !important;
}
@media (max-width: 700px) {
/* avoid that sidebar is too wide */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
/* reduce space around category icons */
#categories > .category {
margin-inline-start: auto !important;
padding-inline: auto !important;
}
.category-name {
display: none !important;
}
/* reduce space around footer icons (addons, help) */
.sidebar-footer-list {
margin-inline: auto !important;
padding-inline: auto !important;
}
.sidebar-footer-label {
display: none !important;
}
}
@media (max-height: 400px) {
#categories {
margin-top: 8px !important;
}
}
}

View file

@ -0,0 +1,518 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document
regexp("^(about:).*") {
/* Fenix Colors */
:root {
--addon-card-background: rgba(171,113,255,0.1) !important;
--brand-color-accent: rgb(80,54,132) !important;
--brand-color-accent-active: rgb(80,54,132) !important;
--brand-color-accent-hover: rgb(80,54,132) !important;
--color-canvas: rgb(167,111,250) !important;
--card-outline-color: rgb(171,113,255) !important;
--card-shadow: var(--shadow-10) !important;
--card-shadow-hover: var(--card-shadow), 0 0 0 5px var(--card-outline-color) !important;
--checkbox-border-color: white !important;
--checkbox-checked-active-bgcolor: var(--in-content-box-background-active) !important;
--checkbox-checked-bgcolor: var(--in-content-box-border-color) !important;
--checkbox-checked-border-color: var(--in-content-box-border-color) !important;
--checkbox-checked-color: var(--in-content-box-text-color) !important;
--checkbox-checked-hover-bgcolor: var(--in-content-box-background-hover) !important;
--checkbox-unchecked-active-bgcolor: var(--in-content-box-background-active) !important;
--checkbox-unchecked-bgcolor: var(--in-content-box-background) !important;
--checkbox-unchecked-hover-bgcolor: var(--in-content-box-background-hover) !important;
--dialog-warning-text-color: white !important;
--in-content-accent-color: rgb(171,113,255) !important;
--in-content-accent-color-active: rgb(203,158,255) !important;
--in-content-border-color: rgb(171,113,255) !important;
--in-content-border-active: rgb(203,158,255) !important;
--in-content-border-active-shadow: rgb(203,158,255) !important;
--in-content-border-hover: rgb(203,158,255) !important;
--in-content-border-invalid: rgb(171,113,255) !important;
--in-content-box-background: rgb(41,29,79) !important;
--in-content-box-background-active: rgb(203,158,255) !important;
--in-content-box-background-hover: rgb(203,158,255) !important;
--in-content-box-background-odd: var(--in-content-box-info-background) !important;
--in-content-box-border-color: rgb(171,113,255) !important;
--in-content-box-text-color: white !important;
--in-content-box-info-background: rgba(171,113,255,0.2) !important;
--in-content-button-background: rgb(171,113,255) !important;
--in-content-button-background-active: rgb(203,158,255) !important;
--in-content-button-background-hover: rgb(203,158,255) !important;
--in-content-button-border-color: rgb(171,113,255) !important;
--in-content-button-border-color-active: rgb(203,158,255) !important;
--in-content-button-border-color-hover: rgb(203,158,255) !important;
--in-content-button-text-color: white !important;
--in-content-button-text-color-active: white !important;
--in-content-button-text-color-hover: white !important;
--in-content-category-background: rgb(41,29,79) !important;
--in-content-category-background-hover: rgb(171,113,255) !important;
--in-content-category-background-selected: rgb(171,113,255) !important;
--in-content-category-background-selected-hover: rgb(171,113,255) !important;
--in-content-category-text: white !important;
--in-content-category-text-selected: white !important;
--in-content-danger-button-background: darkred !important;
--in-content-danger-button-background-active: red !important;
--in-content-danger-button-background-hover: red !important;
--in-content-deemphasized-text: lightgray !important;
--in-content-error-text-color: white !important;
--in-content-focus-outline-color: rgb(171,113,255) !important;
--in-content-icon-color: white !important;
--in-content-item-hover: rgb(203,158,255) !important;
--in-content-item-hover-text: white !important;
--in-content-item-selected: rgb(203,158,255) !important;
--in-content-item-selected-text: white !important;
--in-content-link-color: rgb(171,113,255) !important;
--in-content-link-color-active: rgb(203,158,255) !important;
--in-content-link-color-hover: rgb(203,158,255) !important;
--in-content-link-color-visited: rgb(171,113,255) !important;
--in-content-page-background: rgb(41,29,79) !important;
--in-content-page-color: rgb(171,113,255) !important;
--in-content-primary-button-background: rgb(171,113,255) !important;
--in-content-primary-button-background-active: rgb(203,158,255) !important;
--in-content-primary-button-background-hover: rgb(203,158,255) !important;
--in-content-primary-button-border-color: rgb(171,113,255) !important;
--in-content-primary-button-border-hover: rgb(203,158,255) !important;
--in-content-primary-button-text-color: white !important;
--in-content-primary-button-text-color-hover: white !important;
--in-content-selected-text: white !important;
--in-content-table-background: rgb(41,29,79) !important;
--in-content-table-border-color: rgb(171,113,255) !important;
--in-content-table-border-dark-color: rgb(144,89,255) !important;
--in-content-table-header-background: rgb(41,29,79) !important;
--in-content-table-header-color: white !important;
--in-content-text-color: white !important;
--in-content-warning-container: darkorange !important;
--shadow-10: 0 1px 4px black !important;
--shadow-30: 0 4px 16px black !important;
color: white !important;
}
::selection {
background: rgb(171,113,255) !important;
color: white !important;
}
/* About:Addons */
#categories > .category[selected], #categories > .category.selected {
background-color: var(--in-content-button-background) !important;
color: var(--in-content-button-text-color) !important;
}
.addon.card {
background-color: var(--addon-card-background) !important;
}
.radio-container-with-text > input {
border: 2px solid !important;
background-color: var(--in-content-page-background) !important;
color: var(--in-content-page-color) !important;
}
.radio-container-with-text > input:hover {
background-color: var(--in-content-button-background-hover) !important;
}
.radio-container-with-text > input:active {
background-color: var(--in-content-button-background-active) !important;
}
/* About:Preferences */
.radio-check {
border: 2px solid !important;
border-color: white !important;
background-color: var(--in-content-page-background) !important;
}
.radio-check[selected] {
border-color: var(--in-content-page-color) !important;
color: var(--in-content-page-color) !important;
}
.web-appearance-choice-image-container {
background-color: var(--in-content-page-background) !important;
}
.web-appearance-choice-image-container:hover {
background-color: var(--in-content-button-background-hover) !important;
}
.web-appearance-choice-image-container:active {
background-color: var(--in-content-button-background-active) !important;
}
.web-appearance-choice input {
background-color: var(--in-content-page-background) !important;
border: 2px solid !important;
border-color: var(--in-content-page-color) !important;
color: var(--in-content-page-color) !important;
}
.web-appearance-choice input:hover {
background-color: var(--in-content-button-background-hover) !important;
}
.web-appearance-choice input:active {
background-color: var(--in-content-button-background-active) !important;
}
label.web-appearance-choice:nth-child(1) > div:nth-child(2) > span:nth-child(2) {
display: none !important;
}
label.web-appearance-choice:nth-child(1) > div:nth-child(2)::after {
content: "Auto" !important;
}
}
@-moz-document
regexp("^(?!about:).*") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Table font size (prevents horizontal scroll on web pages) */
tr {
font-size: 13px;
}
}
}
@-moz-document
url("about:addons"),
url-prefix("about:addons") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Page width */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
body {
min-width: 100vw !important;
max-width:100vw !important;
width: 100vw !important;
}
/* About:Addons */
.search-label,
.textbox-search-icons {
display: none !important;
}
input::placeholder {
color: white !important;
opacity: 100% !important;
}
search-addons > search-textbox {
background-color: var(--in-content-button-background) !important;
color: var(--in-content-button-text-color) !important;
position: fixed !important;
top: 0 !important;
left: 0 !important;
padding: 0 !important;
width: 49px !important;
}
search-addons > search-textbox:hover {
background-color: var(--in-content-button-background-hover) !important;
}
search-addons > search-textbox:active {
background-color: var(--in-content-button-background-active) !important;
}
search-addons > search-textbox[focused] {
background-color: var(--in-content-page-background) !important;
border: 2px solid var(--card-outline-color) !important;
width: 100vw !important;
z-index: 2 !important;
}
.main-search {
padding-top: 18px !important;
padding-bottom: 18px !important;
}
.main-heading {
position: fixed !important;
top: 0 !important;
padding: 0 !important;
}
.page-options-menu {
position: fixed !important;
top: 0 !important;
right: 0 !important;
}
#categories > .category {
margin-left: 0px !important;
}
.sidebar-footer-list {
margin-inline-start: 0 !important;
}
.list-section-heading {
margin-top: 0 !important;
}
.addon-description {
padding-right: 40px !important;
}
.addon-badge-recommended {
margin-right: 10px !important;
}
.more-options-button {
margin-inline-start: -6px !important;
min-width: 36px !important;
}
.toggle-button {
margin-right: -60px !important;
margin-bottom: -60px !important;
height: 12px !important;
width: 24px !important;
}
.toggle-button:before {
margin-top: -4px !important;
margin-left: -6px !important;
height: 18px !important;
width: 18px !important;
}
}
/* Apply this customization only on smaller screens in portrait mode */
@media (max-width: 700px) {
/* Reduce addon cards width and font to fit display without horizontal scrolling */
.card {
max-width: 250px !important;
font-size: 8pt !important;
}
}
}
@-moz-document
url("about:config") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:Config */
#search-container,
#toolbar,
#prefs {
min-width: calc(100vw - 20px) !important;
}
#toolbar {
flex-direction: column;
}
#prefs {
word-wrap: anywhere;
}
.checkbox-container {
margin-top: 6px;
padding-bottom: 3px;
}
tr {
font-size: 12px;
}
th {
padding-left: 8px !important;
}
}
}
@-moz-document
url("about:license") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:License */
.license-header {
background-image: none !important;
padding-inline-end: unset !important;
}
#lic-info > pre {
font-size: 4pt !important;
}
}
}
@-moz-document
url("about:policies"),
url-prefix("about:policies") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Page width */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
/* About:Policies */
#categories > .category {
margin-left: 0px !important;
}
td {
font-size: 9px;
padding-left: 5px !important;
padding-right: 5px !important;
word-wrap: anywhere;
}
}
}
@-moz-document
regexp("about:preferences.*") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Page width */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
/* About:Preferences */
#searchInput {
display: none !important;
}
.pane-container {
margin-inline-start: 10px !important;
margin-inline-end: 10px !important;
width: calc(100vw - 70px) !important;
min-width: calc(100vw - 70px) !important;
}
#category-general,
#category-home,
#category-search,
#category-privacy,
#category-more-from-mozilla {
width: 48px !important;
}
#categories > .category {
margin-left: 0px !important;
}
.sidebar-footer-list {
margin-inline-start: 0 !important;
}
.accessory-button {
min-width: 100px !important;
}
#defaultFont,
#advancedFonts {
max-width: 100px !important;
width: 100px !important;
}
#defaultFontSizeLabel {
margin-left: -196px !important;
}
#defaultFontSizeLabel,
#defaultFontSize {
margin-bottom: -80px !important;
}
#primaryBrowserLocale {
min-width: 20px !important;
}
/* About:Preferences#Privacy */
#contentBlockingHeader {
padding-left: 28px !important;
}
#trackingProtectionShield {
margin-inline-end: 0 !important;
margin-top: -34px !important;
max-height: 20px !important;
max-width: 20px !important;
height: 20px !important;
width: 20px !important;
}
#contentBlockingDescription {
font-size: 9pt !important;
}
#trackingProtectionExceptions {
padding-left: 0 !important;
padding-right: 0 !important;
max-width: 30px !important;
width: 30px !important;
}
#historyMode {
max-width: 235.5px !important;
width: 235.5px !important;
}
/* About:Preferences#MoreFromMozilla */
.simple .qr-code-box-title {
max-width: 235px !important;
width: 235px !important;
}
}
}
@-moz-document
url("about:protections") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:Protections */
#report-content {
margin: 0 !important;
padding: 50px !important;
max-width: 100vw !important;
width: 100vw !important;
}
#mobile-hanger {
display: none !important;
}
.body-wrapper {
grid-column-start: 1 !important;
grid-column-end: -1 !important;
}
#manage-protections,
#sign-up-for-monitor-link,
#save-passwords-button,
#get-proxy-extension-link {
grid-area: 2 / 1 / 2 / 6 !important;
}
.card-header .wrapper {
grid-row-gap: 8px !important;
}
.card:not(.has-logins) .wrapper div:nth-child(1) {
grid-column-end: -1 !important;
}
}
}
@-moz-document
url("about:rights") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:Rights */
.rights-header {
background-image: none !important;
padding-inline-end: unset !important;
}
}
}

View file

@ -0,0 +1,371 @@
/* Copyright 2023 user0
* SPDX-License-Identifier: MPL-2.0 */
@-moz-document
regexp("^(?!about:).*") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Table font size (prevents horizontal scroll on web pages) */
tr {
font-size: 13px;
}
}
}
@-moz-document
url("about:addons"),
url-prefix("about:addons") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Page width */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
body {
min-width: 100vw !important;
max-width:100vw !important;
width: 100vw !important;
}
/* About:Addons */
.search-label,
.textbox-search-icons {
display: none !important;
}
input::placeholder {
color: white !important;
opacity: 100% !important;
}
search-addons > search-textbox {
background-color: var(--in-content-button-background) !important;
color: var(--in-content-button-text-color) !important;
position: fixed !important;
top: 0 !important;
left: 0 !important;
padding: 0 !important;
width: 49px !important;
}
search-addons > search-textbox:hover {
background-color: var(--in-content-button-background-hover) !important;
}
search-addons > search-textbox:active {
background-color: var(--in-content-button-background-active) !important;
}
search-addons > search-textbox[focused] {
background-color: var(--in-content-page-background) !important;
border: 2px solid var(--card-outline-color) !important;
width: 100vw !important;
z-index: 2 !important;
}
.main-search {
padding-top: 18px !important;
padding-bottom: 18px !important;
}
.main-heading {
position: fixed !important;
top: 0 !important;
padding: 0 !important;
}
.page-options-menu {
position: fixed !important;
top: 0 !important;
right: 0 !important;
}
#categories > .category {
margin-left: 0px !important;
}
.sidebar-footer-list {
margin-inline-start: 0 !important;
}
.list-section-heading {
margin-top: 0 !important;
}
.addon-description {
padding-right: 40px !important;
}
.addon-badge-recommended {
margin-right: 10px !important;
}
.more-options-button {
margin-inline-start: -6px !important;
min-width: 36px !important;
}
.toggle-button {
margin-right: -60px !important;
margin-bottom: -60px !important;
height: 12px !important;
width: 24px !important;
}
.toggle-button:before {
margin-top: -4px !important;
margin-left: -6px !important;
height: 18px !important;
width: 18px !important;
}
}
/* Apply this customization only on smaller screens in portrait mode */
@media (max-width: 700px) {
/* Reduce addon cards width and font to fit display without horizontal scrolling */
.card {
max-width: 250px !important;
font-size: 8pt !important;
}
}
}
@-moz-document
url("about:config") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:Config */
#search-container,
#toolbar,
#prefs {
min-width: calc(100vw - 20px) !important;
}
#toolbar {
flex-direction: column;
}
#prefs {
word-wrap: anywhere;
}
.checkbox-container {
margin-top: 6px;
padding-bottom: 3px;
}
tr {
font-size: 12px;
}
th {
padding-left: 8px !important;
}
}
}
@-moz-document
url("about:license") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:License */
.license-header {
background-image: none !important;
padding-inline-end: unset !important;
}
#lic-info > pre {
font-size: 4pt !important;
}
}
}
@-moz-document
url("about:policies"),
url-prefix("about:policies") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Page width */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
/* About:Policies */
#categories > .category {
margin-left: 0px !important;
}
td {
font-size: 9px;
padding-left: 5px !important;
padding-right: 5px !important;
word-wrap: anywhere;
}
}
}
@-moz-document
regexp("about:preferences.*") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* Page width */
:root {
--in-content-sidebar-width: 50px !important;
--sidebar-width: 50px !important;
}
/* About:Preferences */
#searchInput {
display: none !important;
}
.pane-container {
margin-inline-start: 10px !important;
margin-inline-end: 10px !important;
width: calc(100vw - 70px) !important;
min-width: calc(100vw - 70px) !important;
}
#category-general,
#category-home,
#category-search,
#category-privacy,
#category-more-from-mozilla {
width: 48px !important;
}
#categories > .category {
margin-left: 0px !important;
}
.sidebar-footer-list {
margin-inline-start: 0 !important;
}
label.web-appearance-choice:nth-child(1) > div:nth-child(2) > span:nth-child(2) {
display: none !important;
}
label.web-appearance-choice:nth-child(1) > div:nth-child(2)::after {
content: "Auto" !important;
}
.accessory-button {
min-width: 100px !important;
}
#defaultFont,
#advancedFonts {
max-width: 100px !important;
width: 100px !important;
}
#defaultFontSizeLabel {
margin-left: -196px !important;
}
#defaultFontSizeLabel,
#defaultFontSize {
margin-bottom: -80px !important;
}
#primaryBrowserLocale {
min-width: 20px !important;
}
/* About:Preferences#Privacy */
#contentBlockingHeader {
padding-left: 28px !important;
}
#trackingProtectionShield {
margin-inline-end: 0 !important;
margin-top: -34px !important;
max-height: 20px !important;
max-width: 20px !important;
height: 20px !important;
width: 20px !important;
}
#contentBlockingDescription {
font-size: 9pt !important;
}
#trackingProtectionExceptions {
padding-left: 0 !important;
padding-right: 0 !important;
max-width: 30px !important;
width: 30px !important;
}
#historyMode {
max-width: 235.5px !important;
width: 235.5px !important;
}
/* About:Preferences#MoreFromMozilla */
.simple .qr-code-box-title {
max-width: 235px !important;
width: 235px !important;
}
}
}
@-moz-document
url("about:protections") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:Protections */
#report-content {
margin: 0 !important;
padding: 50px !important;
max-width: 100vw !important;
width: 100vw !important;
}
#mobile-hanger {
display: none !important;
}
.body-wrapper {
grid-column-start: 1 !important;
grid-column-end: -1 !important;
}
#manage-protections,
#sign-up-for-monitor-link,
#save-passwords-button,
#get-proxy-extension-link {
grid-area: 2 / 1 / 2 / 6 !important;
}
.card-header .wrapper {
grid-row-gap: 8px !important;
}
.card:not(.has-logins) .wrapper div:nth-child(1) {
grid-column-end: -1 !important;
}
}
}
@-moz-document
url("about:rights") {
/* Apply this customization only on smaller screens */
@media
(max-height: 300px),
(max-width: 700px) {
/* About:Rights */
.rights-header {
background-image: none !important;
padding-inline-end: unset !important;
}
}
}