mirror of
https://github.com/black7375/Firefox-UI-Fix.git
synced 2025-12-06 02:30:54 -08:00
Doc: Improve document readability
This commit is contained in:
parent
7fc62b9b1c
commit
9d641fa4bb
7 changed files with 42 additions and 44 deletions
26
README.org
26
README.org
|
|
@ -18,14 +18,14 @@
|
|||
|
||||
-----
|
||||
|
||||
🔔🔔 Did you set a custom, but not work?
|
||||
🔔🔔 Does the theme not work after installation?
|
||||
|
||||
You should copy [[./user.js][ ~user.js~ ]] file before the theme works.
|
||||
|
||||
The option system depends on user configuration, and nothing applies without settings. \\
|
||||
Also, real-time changes are difficult for [[./docs/Restrictions.md#supports][technical limitations]] and require restarts.
|
||||
Also, real-time changes are difficult because of [[./docs/Restrictions.md#supports][technical limitations]] and require a restart.
|
||||
|
||||
Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-userjs][can be conflict]] and should be explicitly =false=.
|
||||
Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-userjs][can be conflicted]] and should be explicitly set to =false=.
|
||||
|
||||
-----
|
||||
|
||||
|
|
@ -50,10 +50,8 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
|
|||
- Default light/dark theme contrast enhancement
|
||||
- Colorful context menu
|
||||
- More dark mode support
|
||||
- GTK system theme support
|
||||
- Windows system theme support
|
||||
- Mac system theme support
|
||||
- Windows7 compatibility
|
||||
- Windows/Mac/Linux system theme support
|
||||
- Windows 7 compatibility
|
||||
- *Icons*
|
||||
- Panel
|
||||
- Context Menu
|
||||
|
|
@ -66,13 +64,13 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
|
|||
- Menu
|
||||
- Density
|
||||
- Others...
|
||||
- *Tabbar Layouts*
|
||||
- *Tab Bar Layouts*
|
||||
- Tabs on Bottom
|
||||
- One Liner
|
||||
- Vertical Tab Support
|
||||
- *Tab Design*
|
||||
- General:
|
||||
- Connect with toolbar(Buttons like tabs)
|
||||
- Connect with toolbar (buttons like tabs)
|
||||
- Selected:
|
||||
- Box Shadow: Highlight the selected tab
|
||||
- Bottom Rounding: Natural
|
||||
|
|
@ -98,7 +96,7 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
|
|||
- Focused Shadow: Same as the accent color
|
||||
- Hand off to Awesomebar
|
||||
- Icons:
|
||||
- Size: Fill(Changes dynamically to your size)
|
||||
- Size: Fill (Changes dynamically to your size)
|
||||
- *Error Page Design*
|
||||
- Illustrations: Restore error page illustrations
|
||||
- *Video Player*
|
||||
|
|
@ -116,9 +114,9 @@ Some settings [[https://github.com/black7375/Firefox-UI-Fix/wiki/Options#using-u
|
|||
|
||||
** Installation Guide
|
||||
|
||||
*Script Installation (experimental)*
|
||||
*Installation script (experimental)*
|
||||
|
||||
Linux, mac users:
|
||||
Linux/Mac users:
|
||||
#+BEGIN_SRC bash
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/black7375/Firefox-UI-Fix/master/install.sh)"
|
||||
#+END_SRC
|
||||
|
|
@ -133,8 +131,8 @@ Windows users: Run with powershell ([[https://github.com/black7375/Firefox-UI-Fi
|
|||
You can see the [[https://github.com/black7375/Firefox-UI-Fix/wiki/Installation-Guide][installation guide]] with screenshots on the wiki.
|
||||
|
||||
1. Download files
|
||||
- Click the green ":arrow_down: Code"-button above
|
||||
- Select ":package: Download Zip"
|
||||
- Click the green ":arrow_down: Code" button above
|
||||
- Select ":package: Download ZIP"
|
||||
2. Find your profile directory
|
||||
- Open =about:support= in a new tab
|
||||
- Find the =Profile Folder= entry and click the =Open Folder= button
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@
|
|||
|
||||
**Explanation**
|
||||
|
||||
Firefox achieve performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called `omni.ja`.
|
||||
Firefox achieves performance improvements by moving many of their internal parts from being standalone files or sets of JAR files into just one JAR file called `omni.ja`.
|
||||
This reduces the amount of I/O needed to load the application.
|
||||
|
||||
Chrome content, modules, non-binary components, and many other elements are packaged in an omni.jar file for each base directory.
|
||||
Chrome content, modules, non-binary components, and many other elements are packaged in an omni.ja file for each base directory.
|
||||
|
||||
- `actors/`: [JSActors](https://firefox-source-docs.mozilla.org/dom/ipc/jsactors.html) related files.
|
||||
- `chrome.manifest`: The [chrome manifest](https://udn.realityripple.com/docs/Mozilla/Chrome_Registration) file.
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
- Convention is to use a dotted segmented form (Ex. `browser.cache.disk.enable`)
|
||||
- Value:
|
||||
- Type: bool, 32-bit ints, 8-bit C string
|
||||
- When you need an float, use a string. (Ex. `general.smoothScroll.currentVelocityWeighting`: `"0.25"`)
|
||||
- When you need a float, use a string (Ex. `general.smoothScroll.currentVelocityWeighting`: `"0.25"`)
|
||||
|
||||
**Main Purpose**
|
||||
- Feature enable/disable flags (Ex. `xpinstall.signatures.required`).
|
||||
|
|
@ -47,7 +47,7 @@ Key information on the sets that can be used in the configuration file.
|
|||
- `user_pref()`: Set user pref
|
||||
|
||||
The following is a method of operating the configuration file parser.
|
||||
See [EBNF(Extended Backus-Naur form)](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) if you want to know about syntax.
|
||||
See [EBNF (Extended Backus-Naur form)](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) if you want to know about syntax.
|
||||
|
||||
```ebnf
|
||||
<pref-file> = <pref>*
|
||||
|
|
@ -107,7 +107,7 @@ It is written to `prefs.js` in a way that can be set by the GUI.
|
|||
**Basics**
|
||||
It exists in the profile directory, and is used to store settings that are changed from *defaults* or when users added *new settings*.
|
||||
|
||||
In general, Do NOT edit `prefs.js` directly.
|
||||
In general, do NOT edit `prefs.js` directly.
|
||||
|
||||
### user.js
|
||||
**Related Docs**
|
||||
|
|
|
|||
|
|
@ -23,12 +23,12 @@ root
|
|||
|- src/: Source files
|
||||
|- src/leptonChrome.scss: Entry of SCSS for Browser UI
|
||||
|- src/leptonContent.scss: Entry of SCSS for Web pages
|
||||
|- .gitattributes: Exclude at `Download Zip`
|
||||
|- .gitattributes: Exclude at `Download ZIP`
|
||||
|- .github: Issue/PR Template, Github Actions
|
||||
|- .prettierignore: Exclude coding style
|
||||
|- .prettierrc.json: Coding style
|
||||
|- install.ps1: Install script write in powershell
|
||||
|- install.sh: Install script write in bash
|
||||
|- install.ps1: Install script written in powershell
|
||||
|- install.sh: Install script written in bash
|
||||
|- package.json: Build setup, package dependency
|
||||
|- LEPTON: Meta infos (branch, version)
|
||||
|- user.js: about:config settings
|
||||
|
|
@ -88,7 +88,7 @@ Path=<Full PATH>
|
|||
Inspired by [arkenfox](https://github.com/arkenfox/user.js/wiki/3.1-Overrides).
|
||||
These files need to use a shell script and has some priorities.
|
||||
|
||||
CSS override settings(`userChrome-overrides.css`, `userContent-overrides.css`) are relatively simple.
|
||||
CSS override settings (`userChrome-overrides.css`, `userContent-overrides.css`) are relatively simple.
|
||||
- `./<CSS_OVERRIDES>` (Will be copied `<FIREFOX_PROFILE>/chrome/`)
|
||||
- `<FIREFOX_PROFILE>/chrome/<CSS_OVERRIDES>`
|
||||
|
||||
|
|
|
|||
|
|
@ -31,15 +31,15 @@ Firefox Source Code:
|
|||
- [Firefox Source Docs](https://firefox-source-docs.mozilla.org/)
|
||||
|
||||
Firefox Documents:
|
||||
- [Support Mozilla: Firefox advanced customization and configuration options](https://support.mozilla.org/en-US/kb/firefox-advanced-customization-and-configuration)
|
||||
- [Support Mozilla: Profiles - Where Firefox stores your bookmarks, passwords and other user data](https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data)
|
||||
- [Mozilla Support: Firefox advanced customization and configuration options](https://support.mozilla.org/en-US/kb/firefox-advanced-customization-and-configuration)
|
||||
- [Mozilla Support: Profiles - Where Firefox stores your bookmarks, passwords and other user data](https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data)
|
||||
|
||||
Test for None mac users:
|
||||
Test for non-Mac users:
|
||||
- [Docker-OSX](https://github.com/sickcodes/Docker-OSX)
|
||||
|
||||
## Project-Specific
|
||||
### Environment
|
||||
[`git`](https://git-scm.com/) and [`yarn`](https://yarnpkg.com/) should be installed.
|
||||
[`git`](https://git-scm.com/) and [`yarn`](https://yarnpkg.com/) must be installed.
|
||||
|
||||
You can configure it as follows:
|
||||
```shell
|
||||
|
|
|
|||
|
|
@ -89,9 +89,9 @@ I don't know the exact reason, but it can be a problem if it is not applied to [
|
|||
|
||||
### Fork Browsers
|
||||
|
||||
Fork browsers have a different installation location([bash](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.sh#L336-L353), [powershell](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.ps1#L387-L395)), and there may be a menu that Firefox does not have.
|
||||
Fork browsers have a different installation location ([bash](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.sh#L336-L353), [powershell](https://github.com/black7375/Firefox-UI-Fix/blob/2e87567b662922810d53959e46084b78f330f54e/install.ps1#L387-L395)), and there may be a menu that Firefox does not have.
|
||||
|
||||
This is a list of fork browsers supported by this project.
|
||||
List of fork browsers supported by this project:
|
||||
- [Waterfox](https://www.waterfox.net/)
|
||||
- [LibreWolf](https://librewolf.net/)
|
||||
- [Tor Browser](https://www.torproject.org/download/)
|
||||
|
|
@ -108,7 +108,7 @@ You can apply [Web extentions](https://developer.mozilla.org/en-US/docs/Mozilla/
|
|||
At this time, we recommend that the [explicit ID](https://extensionworkshop.com/documentation/develop/extensions-and-the-add-on-id/) is set.
|
||||
If not, an anonymous ID is created in the local, so you need a [UUID replacer](https://github.com/overdodactyl/ShadowFox/blob/master/scripts/uuids.sh).
|
||||
|
||||
This is a list of web extentions supported by this project.
|
||||
List of web extentions supported by this project:
|
||||
- [Tree Style Tab](https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/)
|
||||
- [Tab Center Reborn](https://addons.mozilla.org/en-US/firefox/addon/tabcenter-reborn/)
|
||||
- [Sidebar Tabs](https://addons.mozilla.org/en-US/firefox/addon/sidebartabs/)
|
||||
|
|
@ -119,17 +119,17 @@ We should consider [Legacy addons](https://extensionworkshop.com/documentation/d
|
|||
|
||||
Legacy addons can be loaded by [Auto config's feature](./Preference.md#auto-config) or [bootstrapLoder](https://github.com/xiaoxiaoflood/firefox-scripts/tree/master/extensions/bootstrapLoader) and can directly manipulate the DOM structure and style. [onemen/TabMixPlus#168](https://github.com/onemen/TabMixPlus/issues/168)
|
||||
|
||||
This is a list of legacy addons supported by this project.
|
||||
List of legacy addons supported by this project:
|
||||
- [Tab Mix Plus](https://github.com/onemen/TabMixPlus)
|
||||
|
||||
## Internals
|
||||
### CSS Loading Order
|
||||
User CSS(`userChrome.css`, `userContent.css`) is usually loaded first.
|
||||
User CSS (`userChrome.css`, `userContent.css`) is usually loaded first.
|
||||
|
||||
In many cases, overriding should be prevented with [`important!`](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#the_!important_exception)(Anti-pattern in general web), and side effects should also be considered. [#11](https://github.com/black7375/Firefox-UI-Fix/issues/11)
|
||||
In many cases, overriding should be prevented with [`!important`](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#the_!important_exception) (Anti-pattern in general web), and side effects should also be considered. [#11](https://github.com/black7375/Firefox-UI-Fix/issues/11)
|
||||
|
||||
### DOM structure cannot be modified
|
||||
It is possible with [JS(Auto config)](./Preference.md#auto-config), but there are security and configuration issues, so we should make the most of CSS.
|
||||
It is possible with [JS (Auto config)](./Preference.md#auto-config), but there are security and configuration issues, so we should make the most of CSS.
|
||||
|
||||
[`::before`](https://developer.mozilla.org/en-US/docs/Web/CSS/::before) and [`::after`](https://developer.mozilla.org/en-US/docs/Web/CSS/::after) can indirectly add CSS elements.
|
||||
|
||||
|
|
@ -149,7 +149,7 @@ It is recommended to use `list-style-image` when a layout is provided for the im
|
|||
- [Menu Item Icon](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4551-L4744)
|
||||
- [Error Illustration](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userContent.css#L275-L380)
|
||||
|
||||
You can use [`-moz-box-ordinal-group`](https://udn.realityripple.com/docs/Web/CSS/box-ordinal-group)([`-moz-box`](https://udn.realityripple.com/docs/Web/CSS/Mozilla_Extensions#display)) and [`order`](https://developer.mozilla.org/en-US/docs/Web/CSS/order)(at [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox)) to change the order of the layout.
|
||||
You can use [`-moz-box-ordinal-group`](https://udn.realityripple.com/docs/Web/CSS/box-ordinal-group) ([`-moz-box`](https://udn.realityripple.com/docs/Web/CSS/Mozilla_Extensions#display)) and [`order`](https://developer.mozilla.org/en-US/docs/Web/CSS/order) (at [flex](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox)) to change the order of the layout.
|
||||
In experience, the detailed actions of `-moz-box` and `flex` are different, so tests are required.
|
||||
- [Separator Order](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4286-L4288)
|
||||
- [Sync Menu Item's Image Order](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L4234-L4238)
|
||||
|
|
@ -161,7 +161,7 @@ By default, [attribute selectors](https://developer.mozilla.org/en-US/docs/Web/C
|
|||
If there is no state attributes, you can bypass by using [both transitions and keyframes](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userChrome.css#L2704-L2730) for animation.
|
||||
|
||||
### Shadow DOM
|
||||
Firefox actively uses [shadow dom](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM) internally.
|
||||
Firefox actively uses [shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM) internally.
|
||||
|
||||
To modify, it is often a roundabout approach or impossible to inherit.
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ One bypass method is to declare [`var()`](https://developer.mozilla.org/en-US/do
|
|||
- [Audio, Video Player UI](https://github.com/black7375/Firefox-UI-Fix/blob/36e9c94844fee2417662251cbd50c2b874d5b576/userContent.css#L5-L47)
|
||||
- [Video Player Twoline UI](https://github.com/black7375/Firefox-UI-Fix/blob/cbf14cd55a9edada7ab2f5f1b626608fb9fe38a2/src/contents/_video_player.scss#L68-L171): It is pretty difficult when the condition becomes complicated.
|
||||
|
||||
Another limitation of shadow dom in user style is that you cannot use shadow dom related selectors like [`:host`](https://developer.mozilla.org/en-US/docs/Web/CSS/:host_function) and [`::part`](https://developer.mozilla.org/en-US/docs/Web/CSS/::part).
|
||||
Another limitation of shadow DOM in user style is that you cannot use shadow DOM related selectors like [`:host`](https://developer.mozilla.org/en-US/docs/Web/CSS/:host_function) and [`::part`](https://developer.mozilla.org/en-US/docs/Web/CSS/::part).
|
||||
|
||||
- [Using ::part() selector in userchrome.css?](https://www.reddit.com/r/FirefoxCSS/comments/d2sukj/using_part_selector_in_userchromecss/)
|
||||
- [Can't change some shadow-dom properties](https://www.reddit.com/r/FirefoxCSS/comments/rebn3s/cant_change_some_shadowdom_properties/)
|
||||
|
|
@ -180,11 +180,11 @@ Another limitation of shadow dom in user style is that you cannot use shadow dom
|
|||
Sometimes firefox can use [XUL](https://en.wikipedia.org/wiki/XUL) that have been written and bound with C++ for performance like a treeview of bookmarks.
|
||||
XUL's [box model](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Tutorial/The_Box_Model) and [DOM](https://udn.realityripple.com/docs/Archive/Mozilla/XUL/Tutorial/Document_Object_Model) are different from HTML.
|
||||
|
||||
There ar few appropriate documents, so we have to read the source code and work. (Ex. [1](https://github.com/mozilla/gecko-dev/blob/master/layout/style/nsCSSAnonBoxList.h), [2](https://github.com/mozilla/gecko-dev/blob/master/layout/xul/tree/nsITreeView.idl))
|
||||
There are a few appropriate documents, so we have to read the source code and work. (Ex. [1](https://github.com/mozilla/gecko-dev/blob/master/layout/style/nsCSSAnonBoxList.h), [2](https://github.com/mozilla/gecko-dev/blob/master/layout/xul/tree/nsITreeView.idl))
|
||||
|
||||
Available CSS features are also restricted.
|
||||
|
||||
Example of legacy documents that will help.
|
||||
Examples of legacy documents that will help:
|
||||
- [UDN: ::-moz-tree-cell](https://udn.realityripple.com/docs/Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell)
|
||||
- [UDN: ::-moz-tree-cell-text](https://udn.realityripple.com/docs/Mozilla/Gecko/Chrome/CSS/::-moz-tree-cell-text)
|
||||
|
||||
|
|
@ -194,9 +194,9 @@ Like [`<toolbar align="end"></toolbar>`](https://udn.realityripple.com/docs/Arch
|
|||
### Supports
|
||||
[`@supports`](https://developer.mozilla.org/en-US/docs/Web/CSS/@supports) change in CSS is not detected in real time. (Caching after checking only once)
|
||||
|
||||
So a restart is required, and if the mozilla need real time changes, are using `@media` to handle it.
|
||||
So a restart is required, and if Mozilla needs real time changes, they are using `@media` to handle it.
|
||||
|
||||
If project only use pure CSS, we cannot add `@media rules`.
|
||||
If project only uses pure CSS, we cannot add `@media rules`.
|
||||
|
||||
- [Bug 1267890 - Support detecting bool preferences in chrome stylesheets](https://bugzilla.mozilla.org/show_bug.cgi?id=1267890)
|
||||
- [Bug 1698132 - Improve caching behaviour of -moz-bool-pref](https://bugzilla.mozilla.org/show_bug.cgi?id=1698132)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Smart Bookmarks(Query Bookmarks)
|
||||
# Smart Bookmarks (Query Bookmarks)
|
||||
|
||||
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-refresh-toc -->
|
||||
**Table of Contents**
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
## Basics
|
||||
**Related Docs**
|
||||
- [Support Mozilla: Restore the default Smart Bookmarks Folders](https://support.mozilla.org/en-US/kb/restore-default-smart-bookmarks-folders) (Not works)
|
||||
- [Mozilla Support: Restore the default Smart Bookmarks Folders](https://support.mozilla.org/en-US/kb/restore-default-smart-bookmarks-folders) (does not work)
|
||||
- [Smart Bookmarks. A quick guide.](https://www.reddit.com/r/firefox/comments/2i4qcy/smart_bookmarks_a_quick_guide/)
|
||||
- [Smart Bookmarks. A quick guide. (extended)](https://www.reddit.com/r/firefox/comments/fvcw96/query_bookmarks_smart_bookmarks_a_quick_guide/)
|
||||
- [How to Create Custom Smart Bookmarks Folders in Firefox](https://www.howtogeek.com/111820/how-to-create-custom-smart-bookmarks-folders-in-firefox/)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue