Floorp (11.17 ≤ ver < 12)

来自Tsetien’s Wiki
跳转到导航 跳转到搜索
NB
This page will not be updated further as Floorp has disgraced itself by moving to the Firefox rapid release base.

Like Firefox, it is possible to use floorp /p on Windows to create a profile at a designated path.

Extract a pre-packed Firefox 128 profile to the designated path. Append the following lines (or better, prepend, but it can handle it well either way) to prefs.js:

prefs.js (PRAEMITTENDVM)
user_pref("app.update.auto", false);
user_pref("browser.bookmarks.addedImportButton", false);
user_pref("browser.launcherProcess.enabled", false);
user_pref("browser.newtabpage.storageVersion", 0);
user_pref("browser.privacySegmentation.createdShortcut", false);
user_pref("browser.proton.toolbar.version", 3);
user_pref("extensions.systemAddonSet", "{\"schema\":1,\"addons\":{}}");
user_pref("extensions.ui.dictionary.hidden", true);
user_pref("extensions.ui.extension.hidden", false);
user_pref("extensions.ui.locale.hidden", true);
user_pref("extensions.ui.sitepermission.hidden", true);
user_pref("extensions.webcompat.enable_shims", true);
user_pref("extensions.webcompat.perform_injections", true);
user_pref("extensions.webcompat.perform_ua_overrides", true);
user_pref("floorp.browser.nora.csk.data", "{}");
user_pref("floorp.browser.profile-manager.enabled", false);
user_pref("floorp.browser.sidebar.enable", false);
user_pref("floorp.browser.sidebar.is.displayed", false);
user_pref("floorp.browser.user.interface", 1);
user_pref("floorp.browser.workspaces.enabled", false);
user_pref("floorp.chrome.theme.mode", 0);
user_pref("floorp.portable.isUpdate", false);
user_pref("ui.systemUsesDarkTheme", 0);
user_pref("UserCSSLoader.disabled_list", "");

Create a CSS file as follows—

appbutton_in_titlebar_floorp.css (CSS ver: 4.7.1; Floorp ver: 11.17 and above but below 12)
/* Floorp */
:root {
  --appbutton_in_titlebar: 89.5px !important;
}

#main-window[tabsintitlebar] #PanelUI-button #PanelUI-menu-button {
  background-image: linear-gradient(rgb(145,113,176), rgb(105,55,139) 95%) !important;
}
#main-window[tabsintitlebar] #PanelUI-button #PanelUI-menu-button:hover:not(:active):not([open]){
  background-image: radial-gradient(farthest-side at bottom, rgba(136,125,180,.5) 10%, rgba(136,125,180,0) 70%),
					radial-gradient(farthest-side at bottom, rgb(171,96,166), rgba(201,177,203,0)),
					linear-gradient(rgb(140,104,172), rgb(142,69,141) 95%) !important;
}
#main-window[tabsintitlebar] #PanelUI-button #PanelUI-menu-button:is(:hover:active,[open]) {
  background-image: linear-gradient(rgb(140,104,172), rgb(104,47,133) 95%) !important;
}

/* appbutton label */
#main-window[tabsintitlebar] #PanelUI-menu-button[label="Firefox"]::after,
#main-window[tabsintitlebar] #PanelUI-menu-button:not([label="Nightly"],[label="Firefox Nightly"],[label="Firefox Developer Edition"],[label="Firefox"],[label="Tor Browser"],[label="Tor-Browser"])::after {
  content: "Floorp" !important;
}

/* appbutton */
#main-window:is([tabsintitlebar], [customtitlebar]):is(:not([sizemode="fullscreen"], [sizemode="maximized"]), :is([sizemode="fullscreen"], [sizemode="maximized"])) #PanelUI-button {
  appearance: none !important;
  position: fixed !important;
  display: flex !important;
  height: 2rem !important;
  margin: 0 !important;
  margin-inline-start: 0px !important;
  border: unset !important;
  box-shadow: unset !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
  top: 0px !important;
}

#main-window:is([tabsintitlebar], [customtitlebar]):is(:not([sizemode="fullscreen"], [sizemode="maximized"]), :is([sizemode="fullscreen"], [sizemode="maximized"])) #PanelUI-button #PanelUI-menu-button {
  background-clip: padding-box !important;
  padding: 0 1.4em 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-inline-start: 0.81rem !important;
  padding-inline-end: 2.19rem !important;
  height: 2rem !important;
  border-radius: 0 0 4px 4px;
  border-top: none !important;
  border-right: 1px solid !important;
  border-left: 1px solid !important;
  border-bottom: 1px solid !important;
}

Place this CSS file in /chrome/css/appbutton/, include it in the userChrome.css by appending a line at the bottom of the part shown below, and then disable the first option by adding a /*  to the beginning of that line:

userChrome.css (EXCERPENDVM; CSS ver: 4.7.1; Floorp ver: 11.17 and above but below 12)
/* @import "./css/appbutton/appbutton_in_titlebar_autocolor.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_autocolor57p.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_transparent.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_semi_transparent.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_aurora.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_nightly.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_deved57p.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_nightly57p.css"; /**/
/* @import "./css/appbutton/appbutton_in_titlebar_palemoon.css"; /**/
@import "./css/appbutton/appbutton_in_titlebar_floorp.css"; /**/

Create a CSS file as follows in /chrome/css/

additional_menubar_tabstoolbar_adjustments_floorp1117.css (CSS ver: 4.7.1; Floorp ver: 11.17 and above but below 12)
#main-window:is([tabsintitlebar], [customtitlebar]):is([sizemode="fullscreen"], [sizemode="maximized"], :not([sizemode="fullscreen"], [sizemode="maximized"])) #toolbar-menubar:is([autohide="false"], [autohide="true"]:not([inactive="true"])) {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
#main-window:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar {
	margin-top: -5px !important;
}
#main-window:is([tabsintitlebar], [customtitlebar]):not([sizemode="fullscreen"], [sizemode="maximized"]) #toolbar-menubar[autohide="true"]:not([inactive="true"]) ~ #TabsToolbar {
	margin-top: -3.5px !important;
}
#main-window:is([tabsintitlebar], [customtitlebar])[sizemode="maximized"] #toolbar-menubar[autohide="true"]:not([inactive="true"]) ~ #TabsToolbar,
#main-window:is([tabsintitlebar], [customtitlebar]):not([sizemode="fullscreen"], [sizemode="maximized"]) #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar {
	margin-top: -3px !important;
}
#main-window:is([tabsintitlebar], [customtitlebar])[sizemode="fullscreen"] #toolbar-menubar[autohide="true"]:not([inactive="true"]) ~ #TabsToolbar {
	margin-top: -2.5px !important;
}
#main-window:is([tabsintitlebar], [customtitlebar]):not([sizemode="fullscreen"], [sizemode="maximized"]) #toolbar-menubar[autohide="false"] ~ #TabsToolbar {
	margin-top: -2px !important;
}
#main-window[sizemode="fullscreen"] #toolbar-menubar[autohide="false"] ~ #TabsToolbar .titlebar-buttonbox-container {
	visibility: collapse !important;
	display: none !important;
}

Include it in my_userChrome.css with @import "./css/additional_menubar_tabstoolbar_adjustments_floorp1117.css";—the simplest way to do so is by altering any one of the first three lines of my_userChrome.css and then enabling it by removing the leading /*

my_userChrome.css (EXCERPENDVM; CSS ver: 4.7.1; Floorp ver: 11.17 and above but below 12)
/* @import "./css/additional_menubar_tabstoolbar_adjustments_115.css"; /* Apply one of these three according to your Firefox version. */
@import "./css/additional_menubar_tabstoolbar_adjustments_floorp1117.css"; /* Apply one of these three according to your Firefox version. */
/* @import "./css/additional_menubar_tabstoolbar_adjustments_133.css"; /* Apply one of these three according to your Firefox version. */

And now it’s all done.


In the case of a portable setting-up, for versions 11.26.1 and above that use the new packing-up method, just create /data/profile/default/ under the extracted portable folder and then dump a pre-packed Firefox profile under that newly created path; for versions 11.26.1 and below that use the legacy packing-up method, a structure of folders and files shall be first created manually as follows, where the floorp.exe and the core folder are extracted from the official archive; once done, extract the pre-packed profile archive to /Profiles/AppData/Floorp/.

Floorp Portable File Structure (Floorp ver: 11.17 to 11.26.1 using legacy packing-up method)
FloorpPortable
├───floorp.exe
├───core
│       …
└───Profiles
    └───AppData
        ├───Floorp
        │       profiles.ini
        │       … (pre-packed profile archive is extracted here)
        └───Mozilla
            └───Firefox
                    profiles.ini
/Profiles/AppData/Floorp/profiles.ini
[Profile0]
Name=default
IsRelative=1
Path=
Default=1
/Profiles/AppData/Mozilla/Firefox/profiles.ini
[General]
StartWithLastProfile=1

[Profile0]
Name=default
IsRelative=1
Path=../../../
Default=1