diff --git a/.github/actions/node-setup/action.yml b/.github/actions/node-setup/action.yml
index 9848f55..f0f138e 100644
--- a/.github/actions/node-setup/action.yml
+++ b/.github/actions/node-setup/action.yml
@@ -4,9 +4,10 @@ runs:
using: "composite"
steps:
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
+ # https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
- name: Get yarn cache directory path
id: yarn-cache-dir-path
- run: echo "::set-output name=dir::$(yarn cache dir)"
+ run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
shell: bash
- name: Node cache
diff --git a/CREDITS b/CREDITS
index 8ab4047..b5ee5a9 100644
--- a/CREDITS
+++ b/CREDITS
@@ -43,6 +43,9 @@ W: https://github.com/nikkehtine
N: OSS.kr
W: https://www.oss.kr/
+N: ZachKnife1
+W: https://github.com/ZachKnife1
+
----------
Contributors
@@ -108,6 +111,10 @@ W: https://github.com/MarNicGit
N: Oondanomala
W: https://github.com/Oondanomala
+N: Patricek
+E: pk22.games@gmail.com
+W: https://github.com/Patricek0056
+
N: ph3b3
E: phoebeleong8@gmail.com
W: https://phoebe-leong.github.io/
diff --git a/README.org b/README.org
index 936cfb3..4500b91 100644
--- a/README.org
+++ b/README.org
@@ -70,7 +70,7 @@ You [[https://github.com/black7375/Firefox-UI-Fix/wiki/Compatibility-Issues-Solu
- Panel
- Menu
- Density
- - Others...
+ - Others…
- *Tab Bar Layouts*
- Tabs on Bottom
- One Liner
@@ -82,7 +82,7 @@ You [[https://github.com/black7375/Firefox-UI-Fix/wiki/Compatibility-Issues-Solu
- Box Shadow: Highlight the selected tab
- Bottom Rounding: Natural
- MultiSelected
- - Adjust Color: Easily recognizable.
+ - Adjust Color: Easily recognizable
- Unselect:
- Divide Line: React to hover like chrome
- Unloaded:
@@ -95,7 +95,7 @@ You [[https://github.com/black7375/Firefox-UI-Fix/wiki/Compatibility-Issues-Solu
- Show Favicon: Always show favicon
- PIP Icon
- Container Tab:
- - Highlight line position: Displayed under tab.
+ - Highlight line position: Displayed under tab
- *Button Design*
- New tab: Looks like tab
- *Activity Stream Design*
@@ -149,7 +149,7 @@ Windows users: Run with powershell ([[https://github.com/black7375/Firefox-UI-Fi
- Create a new directory inside your profile directory called =chrome=
- Copy the remaining files from the extracted zip-file into previously created the =chrome= directory
4. Restart Firefox
- - Click the =Clear startup cache...= at the top of =about:support=
+ - Click the =Clear startup cache…= at the top of =about:support=
If you prefer Photon, see [[https://github.com/black7375/Firefox-UI-Fix/tree/photon-style][Lepton's photon-style]].\\
If you prefer Proton, see [[https://github.com/black7375/Firefox-UI-Fix/tree/proton-style][Lepton's proton-style]].
@@ -201,6 +201,7 @@ Thanks to all sponsors & contributors to this project for providing help and dev
[[https://www.oss.kr/][https://user-images.githubusercontent.com/25581533/203210367-9f2eed69-666a-4218-acde-128892aa09d8.png]]
[[https://github.com/ojaha065][@@html:
@@]]
[[https://github.com/DPS0340][@@html:
@@]]
+[[https://github.com/ZachKnife1][@@html:
@@]]
[[https://github.com/kanlukasz][@@html:
@@]]
[[https://github.com/nikkehtine][@@html:
@@]]
diff --git a/css/leptonChrome.css b/css/leptonChrome.css
index 22b9475..6dbcf75 100644
--- a/css/leptonChrome.css
+++ b/css/leptonChrome.css
@@ -2068,7 +2068,8 @@
}
#PopupAutoComplete > richlistbox > richlistitem[originaltype="generatedPassword"] > .two-line-wrapper > .ac-site-icon,
#PopupAutoComplete > richlistbox > richlistitem[originaltype="loginWithOrigin"] > .two-line-wrapper > .ac-site-icon,
- #PopupAutoComplete > richlistbox > richlistitem[originaltype="login"] > .ac-site-icon {
+ #PopupAutoComplete > richlistbox > richlistitem[originaltype="login"] > .ac-site-icon,
+ #PopupAutoComplete > richlistbox > richlistitem[originaltype="insecureWarning"] > .ac-site-icon {
fill: GrayText !important;
}
#PopupAutoComplete > richlistbox > richlistitem[originaltype="loginsFooter"] {
@@ -2084,6 +2085,15 @@
hsla(0deg, 0%, 80%, 0.5)
) !important; /* Original: hsla(0,0%,80%,.5), match arrowpanel-dimmed-further */
}
+ #PopupAutoComplete > richlistbox > richlistitem[originaltype="insecureWarning"] {
+ background-color: var(--panel-bgcolor) !important; /* Original: var(--arrowpanel-dimmed) */
+ }
+ #PopupAutoComplete > richlistbox > richlistitem[originaltype="insecureWarning"]:hover {
+ background-color: var(--arrowpanel-dimmed, hsla(0deg, 0%, 80%, 0.35)) !important;
+ }
+ #PopupAutoComplete > richlistbox > richlistitem[originaltype="insecureWarning"] > .ac-title {
+ color: var(--arrowpanel-color, var(--in-content-page-color)) !important; /* Original: var(--grey-60) */
+ }
/* New Folder Button */
#editBMPanel_newFolderButton {
appearance: none;
@@ -2725,6 +2735,7 @@
font-weight: 600 !important;
}
dropmarker {
+ display: flex !important;
display: -moz-box !important;
appearance: none !important;
width: 12px !important;
@@ -2904,6 +2915,7 @@
font-size: inherit !important;
}
xul|menulist::part(dropmarker) {
+ display: flex;
display: -moz-box;
margin-block: 6px !important;
}
@@ -2917,6 +2929,7 @@
display: none !important;
}
xul|menulist::part(dropmarker) {
+ display: flex !important;
display: -moz-box !important;
margin-block: 1px !important;
}
@@ -2998,6 +3011,9 @@
fill: currentColor !important;
color: var(--in-content-deemphasized-text) !important; /* FieldText */
}
+ #viewGroup > radio .radio-icon {
+ background-image: none !important;
+ }
@supports not -moz-bool-pref("userChrome.rounding.square_button") {
#viewGroup > radio {
border-radius: 8px !important;
@@ -3522,7 +3538,13 @@
#identity-popup-more-info,
#unified-extensions-manage-extensions,
.unified-extensions-item-open-menu,
- .unified-extensions-item-menu-button.subviewbutton {
+ .unified-extensions-item-menu-button.subviewbutton,
+ #PopupAutoComplete
+ > richlistbox
+ > richlistitem[originaltype="insecureWarning"]
+ > .ac-title
+ > .ac-text-overflow-container
+ > .ac-title-text {
cursor: pointer !important;
}
}
@@ -3746,6 +3768,7 @@
will-change: margin-inline-start, opacity, visibility;
}
#sidebar-box[hidden="true"] {
+ display: flex !important;
display: -moz-box !important;
margin-inline-start: -18em;
opacity: 0;
@@ -3897,6 +3920,16 @@
border-radius: 0 !important;
}
}
+@supports -moz-bool-pref("userChrome.rounding.square_toolbar") {
+ :root {
+ --uc-rounding-toolbar: 0;
+ }
+ .container.infobar,
+ .container.infobar::before,
+ notification-message {
+ border-radius: var(--uc-rounding-toolbar) !important;
+ }
+}
@supports -moz-bool-pref("userChrome.rounding.square_field") {
input:not([type="radio"], [type="checkbox"]),
textarea,
@@ -4953,7 +4986,7 @@
}
#nav-bar {
--toolbarbutton-inner-padding: 6px; /* Original: 8px */
- border-radius: var(--tab-border-radius, 4px);
+ border-radius: var(--uc-rounding-toolbar, var(--tab-border-radius, 4px));
}
#nav-bar,
#nav-bar-customization-target {
@@ -5055,7 +5088,7 @@
}
#nav-bar {
--toolbarbutton-inner-padding: 6px; /* Original: 8px */
- border-radius: var(--tab-border-radius, 4px);
+ border-radius: var(--uc-rounding-toolbar, var(--tab-border-radius, 4px));
}
#nav-bar,
#nav-bar-customization-target {
@@ -6643,6 +6676,7 @@
:root:not([tabsintitlebar="true"])
#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow="true"])
~ #new-tab-button {
+ display: flex !important;
display: -moz-box !important;
}
}
@@ -6698,6 +6732,7 @@
> #tabbrowser-arrowscrollbox
> #tabbrowser-arrowscrollbox-periphery
> #tabs-newtab-button {
+ display: flex !important;
display: -moz-box !important;
}
#alltabs-button,
@@ -7323,6 +7358,7 @@
}
@supports -moz-bool-pref("userChrome.tab.photon_like_contextline") {
.tab-context-line {
+ display: inline-flex !important;
display: -moz-inline-box !important;
height: 2px !important;
border-radius: var(--tab-border-radius, 4px) var(--tab-border-radius, 4px) 0 0 !important;
@@ -7835,6 +7871,12 @@
background-color: transparent !important;
}
}
+ /* Fix tab overlap #678 */
+ @supports -moz-bool-pref("userChrome.tab.bottom_rounded_corner") {
+ tab:where([visuallyselected="true"]) {
+ z-index: 1;
+ }
+ }
}
/*= New tab button - Smaller button ==========================================*/
@supports -moz-bool-pref("userChrome.tab.newtab_button_smaller") {
@@ -7900,6 +7942,7 @@
> .tab-stack
> .tab-content
> .tab-close-button:not([selected="true"]) {
+ display: inline-flex !important;
display: -moz-inline-box !important;
}
#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([visuallyselected]) .tab-close-button {
@@ -7987,8 +8030,9 @@
}
.tabbrowser-tab[pinned][visuallyselected]:not([style*="transform: translateX"]):hover:not([busy])
.tab-close-button {
+ display: flex !important;
display: -moz-box !important;
- order: 0 !important;
+ order: -1 !important;
-moz-box-ordinal-group: 0 !important;
/* Looks like hover */
width: var(--uc-close-button-size) !important;
@@ -8006,8 +8050,9 @@
}
@supports -moz-bool-pref("userChrome.tab.close_button_at_pinned.always") {
.tabbrowser-tab[pinned][visuallyselected]:not([busy]) .tab-close-button {
+ display: flex !important;
display: -moz-box !important;
- order: 0 !important;
+ order: -1 !important;
-moz-box-ordinal-group: 0 !important;
/* Looks like hover */
width: var(--uc-close-button-size) !important;
@@ -8026,8 +8071,9 @@
}
@supports -moz-bool-pref("userChrome.tab.close_button_at_pinned.background") {
.tabbrowser-tab[pinned]:not([style*="transform: translateX"]):hover:not([busy]) .tab-close-button {
+ display: flex !important;
display: -moz-box !important;
- order: 0 !important;
+ order: -1 !important;
-moz-box-ordinal-group: 0 !important;
/* Looks like hover */
width: var(--uc-close-button-size) !important;
@@ -8054,6 +8100,7 @@
/** Clipped tabs - Always show tab icon ***************************************/
@supports -moz-bool-pref("userChrome.tab.always_show_tab_icon") {
.tab-icon-image:not([src], [pinned], [crashed], [busy]) {
+ display: inline-flex !important;
display: -moz-inline-box !important;
}
}
@@ -8069,6 +8116,7 @@
/*= Sound Tab - Show Label ===================================================*/
@supports -moz-bool-pref("userChrome.tab.sound_show_label") {
.tab-secondary-label:is([soundplaying], [muted], [activemedia-blocked], [pictureinpicture]) {
+ display: flex !important;
display: -moz-box !important;
}
}
@@ -8282,6 +8330,7 @@
}
.tabbrowser-tab[pictureinpicture]:not([pinned]) .tab-content::after {
/* Shape */
+ display: inline-flex !important;
display: -moz-inline-box !important;
width: 14px;
height: 14px;
@@ -9001,15 +9050,8 @@
}
@supports -moz-bool-pref("userChrome.combined.nav_button") or -moz-bool-pref("userChrome.combined.urlbar.nav_button") {
@supports -moz-bool-pref("userChrome.combined.urlbar.nav_button") or
- (
- not
- (
- -moz-bool-pref("userChrome.combined.sub_button.as_normal") and -moz-bool-pref(
- "userChrome.combined.nav_button"
- )
- and -moz-bool-pref("userChrome.combined.urlbar.home_button")
- )
- ) {
+ (not -moz-bool-pref("userChrome.combined.sub_button.as_normal")) or
+ (-moz-bool-pref("userChrome.combined.nav_button") and -moz-bool-pref("userChrome.combined.urlbar.home_button")) {
#nav-bar-customization-target > #forward-button {
--uc-forward-button-margin: calc(-1 * var(--uc-toolbarbutton-boundary) + 1px);
z-index: 2;
@@ -9508,6 +9550,7 @@
counter-reset: bookmark-counts 0;
}
menupopup[placespopup="true"] > menu.bookmark-item::after {
+ display: inline-flex;
display: -moz-inline-box;
content: "(" counter(bookmark-counts) ")";
}
@@ -9529,7 +9572,7 @@
z-index: 1;
}
findbar {
- order: 0;
+ order: -1;
-moz-box-ordinal-group: 0;
position: relative;
height: 0 !important;
@@ -9544,7 +9587,9 @@
}
findbar::before {
content: "";
+ display: flex;
display: -moz-box;
+ position: absolute;
flex: 200;
-moz-box-flex: 200;
}
@@ -9560,13 +9605,15 @@
flex-direction: row-reverse;
-moz-box-direction: reverse;
border-width: 0 0 1px 1px;
- border-radius: var(--toolbarbutton-border-radius) 0 0 var(--toolbarbutton-border-radius) !important;
+ border-radius: var(--uc-rounding-toolbar, var(--toolbarbutton-border-radius)) 0 0
+ var(--uc-rounding-toolbar, var(--toolbarbutton-border-radius)) !important;
}
.findbar-container > .findbar-find-fast {
padding: var(--toolbarbutton-inner-padding) 1px;
margin: 0 !important;
}
.findbar-container > .findbar-find-status {
+ display: flex;
display: -moz-box;
overflow: hidden;
text-overflow: ellipsis;
@@ -10419,7 +10466,7 @@
}
@supports -moz-bool-pref("userChrome.autohide.fill_urlbar") {
#nav-bar:not(:hover, :focus-within, [urlbar-exceeds-toolbar-bounds="true"]) #urlbar-container {
- order: 0;
+ order: -1;
-moz-box-ordinal-group: 0;
min-width: calc(
var(--uc-navbar-width, 100vw) -
@@ -10750,6 +10797,7 @@
list-style-image: url("chrome://global/skin/icons/delete.svg") !important;
}
#clearDownloadsButton > .toolbarbutton-icon {
+ display: inline-flex !important;
display: -moz-inline-box !important;
margin-top: 0;
margin-bottom: 0;
@@ -10786,7 +10834,7 @@
:root {
--arrowpanel-menuicon-padding: 8px;
--arrowpanel-menublank-padding: calc(
- var(--arrowpanel-menuicon-padding) * 2 + var(var(--arrowpanel-menuitem-padding-inline))
+ var(--arrowpanel-menuicon-padding) * 2 + var(--arrowpanel-menuitem-padding-inline)
) !important;
--arrowpanel-menuimageblank-padding: calc(var(--arrowpanel-menuitem-padding-inline) - 2px) !important;
--arrowpanel-menuimageblank-padding-block: calc(var(--arrowpanel-menuitem-padding-block) - 2px) !important;
@@ -10827,6 +10875,7 @@
}
#appMenu-multiView .subviewbutton::before,
#appMenu-proton-update-banner::before {
+ display: inline-flex;
display: -moz-inline-box;
margin-inline-end: var(--arrowpanel-menuicon-padding);
width: 16px;
@@ -10879,9 +10928,10 @@
}
/*= Panel - Main =============================================================*/
#appMenu-proton-addon-banners > .addon-banner-item > .toolbarbutton-icon {
+ display: inline-flex !important;
display: -moz-inline-box !important;
margin-inline-start: var(--arrowpanel-menuicon-padding);
- order: 0 !important;
+ order: -1 !important;
-moz-box-ordinal-group: 0 !important;
}
#appMenu-proton-update-banner::before {
@@ -11004,6 +11054,7 @@
/* Default */
#fxa-manage-account-button::before {
content: "";
+ display: inline-flex;
display: -moz-inline-box;
width: 32px !important;
height: 32px !important;
@@ -11026,15 +11077,15 @@
}
.syncNowBtn {
visibility: visible !important;
- order: 1 !important;
- -moz-box-ordinal-group: 1 !important;
+ order: -1 !important;
+ -moz-box-ordinal-group: 0 !important;
margin-inline-end: var(--arrowpanel-menuicon-padding);
}
#PanelUI-fxa-menu-setup-sync-button {
list-style-image: url("chrome://browser/skin/sync.svg");
}
#PanelUI-fxa-menu-connect-device-button {
- list-style-image: url("chrome://browser/skin/fxa/add-device.svg");
+ list-style-image: url("../icons/add-device.svg");
}
#PanelUI-fxa-menu-sendtab-button {
list-style-image: url("../icons/send-to-device.svg");
@@ -11069,13 +11120,14 @@
/* Change Separator */
#PanelUI-fxa-menu::before {
content: "";
+ display: flex;
display: -moz-box;
border-bottom: 1px solid var(--panel-separator-color);
margin: var(--panel-separator-margin);
padding: 0;
}
#PanelUI-fxa-menu > :first-child {
- order: 0;
+ order: -1;
-moz-box-ordinal-group: 0;
}
#PanelUI-sign-out-separator {
@@ -11222,6 +11274,7 @@
list-style-image: url("chrome://browser/skin/downloads/downloads.svg");
}
#downloadsHistory .box-inherit.button-box {
+ display: inline-flex !important;
display: -moz-inline-box !important;
}
/*= Toolbar - Overflow Menu ==================================================*/
@@ -11251,6 +11304,9 @@
#BMB_viewBookmarksSidebar[data-l10n-args='{"isVisible":true}'] {
--menuitem-image: url("chrome://global/skin/icons/close.svg");
}
+ #BMB_searchBookmarks {
+ --menuitem-image: url("chrome://global/skin/icons/search-glass.svg");
+ }
#BMB_bookmarksShowAllTop,
#BMB_bookmarksShowAll {
--menuitem-image: url("chrome://browser/skin/bookmark-star-on-tray.svg");
@@ -11263,6 +11319,7 @@
list-style-image: url("chrome://browser/skin/bookmark-star-on-tray.svg") !important;
}
#BMB_bookmarksShowAllTop > .menu-iconic-left {
+ display: flex !important;
display: -moz-box !important;
}
}
@@ -11385,7 +11442,7 @@
/* Color */
-moz-context-properties: fill, fill-opacity, stroke !important;
fill: currentColor !important;
- stroke: transparent;
+ stroke: currentColor;
/* Layout */
background-size: 16px !important;
background-repeat: no-repeat !important;
@@ -11954,6 +12011,7 @@
#tabcenter-reborn_ariasuni-menuitem-_contextMenuMuteTab,
#sidebartabs_asamuzak_jp-menuitem-_muteTab {
--menuitem-image: url("chrome://browser/skin/tabbrowser/tab-audio-muted-small.svg");
+ stroke: transparent !important;
}
#context_toggleMuteTab[muted],
#context_toggleMuteSelectedTabs[muted],
@@ -12189,7 +12247,7 @@
}
#context-viewsource-highlightSyntax {
/* checkbox */
- --menuitem-image: url("../icons/code.svg");
+ --menuitem-image: url("../icons/highlight.svg");
}
#spell-no-suggestions {
--menuitem-image: url("../icons/text-proofing-tools.svg");
@@ -12361,6 +12419,9 @@
#context-selectall {
--menuitem-image: url("../icons/select-all-on.svg");
}
+ #context-reveal-password {
+ --menuitem-image: url("../icons/eye-show.svg");
+ }
#context-print-selection {
--menuitem-image: url("chrome://global/skin/icons/print.svg");
}
@@ -12792,6 +12853,9 @@
--menuitem-image: url("chrome://global/skin/icons/settings.svg");
}
/*= unified-extensions-context-menu ==========================================*/
+ .unified-extensions-context-menu-pin-to-toolbar {
+ --menuitem-image: url("../icons/pin-tab.svg");
+ }
.unified-extensions-context-menu-manage-extension {
--menuitem-image: url("chrome://global/skin/icons/settings.svg");
}
@@ -12952,9 +13016,11 @@
/* viewFullZoomMenu sub menu */
#menu_zoomEnlarge {
--menuitem-image: url("chrome://browser/skin/add-circle-fill.svg");
+ stroke: transparent !important;
}
#menu_zoomReduce {
--menuitem-image: url("chrome://browser/skin/subtract-circle-fill.svg");
+ stroke: transparent !important;
}
#menu_zoomReset {
--menuitem-image: url("../icons/resize.svg");
diff --git a/css/leptonContent.css b/css/leptonContent.css
index d84687e..55cb0b5 100644
--- a/css/leptonContent.css
+++ b/css/leptonContent.css
@@ -252,7 +252,7 @@
/* Color */
-moz-context-properties: fill, fill-opacity, stroke !important;
fill: currentColor !important;
- stroke: transparent;
+ stroke: currentColor;
/* Layout */
background-size: 16px !important;
background-repeat: no-repeat !important;
@@ -410,6 +410,7 @@
}
#contentSearchSettingsButton::before {
content: url("chrome://global/skin/icons/settings.svg") !important;
+ display: inline-flex;
display: -moz-inline-box;
/* Color */
-moz-context-properties: fill, fill-opacity !important;
@@ -2280,6 +2281,7 @@
list-style-image: url("chrome://global/skin/icons/delete.svg") !important;
}
#clearDownloadsButton > .toolbarbutton-icon {
+ display: inline-flex !important;
display: -moz-inline-box !important;
margin-top: 0;
margin-bottom: 0;
@@ -2899,10 +2901,9 @@
@supports -moz-bool-pref("userChrome.rounding.square_button") {
@-moz-document url-prefix("about:"), regexp("^chrome://\\w+/content/.*.xhtml$")
{
- button,
+ button:not(.toggle-button),
.close-icon,
.action-icon::before,
- .web-appearance-choice,
.page-section-header > .twisty,
.closed-tab-li-main,
#categories > .category,
@@ -2986,7 +2987,9 @@
treecols,
listheader,
richlistbox,
- search-textbox {
+ search-textbox,
+ .web-appearance-choice,
+ .content-blocking-category {
border-radius: 0 !important;
}
}
@@ -3037,6 +3040,28 @@
}
}
}
+@supports -moz-bool-pref("userChrome.rounding.square_infobox") {
+ @-moz-document url-prefix("about:"), regexp("^chrome://\\w+/content/.*.xhtml$")
+ {
+ /*
+ * .container is inside shadow DOM,
+ * and it does not have any other classes,
+ * but there may be other elements with the same class,
+ * hence the weird selector.
+ */
+ link[href="chrome://global/content/elements/message-bar.css"] + .container,
+ .info-box-container:not(.content-blocking-category),
+ .options-container,
+ #sanitizeEverythingWarningBox {
+ border-radius: 0 !important;
+ }
+ }
+ @-moz-document url-prefix("about:debugging") {
+ .message {
+ border-radius: 0 !important;
+ }
+ }
+}
@-moz-document url("chrome://browser/content/places/places.xhtml")
{
/*= Library ==============================================================*/
@@ -3084,7 +3109,7 @@
/* Color */
-moz-context-properties: fill, fill-opacity, stroke !important;
fill: currentColor !important;
- stroke: transparent;
+ stroke: currentColor;
/* Layout */
background-size: 16px !important;
background-repeat: no-repeat !important;
diff --git a/docs/Project_Structure.md b/docs/Project_Structure.md
index 3ef1f04..f0550ce 100644
--- a/docs/Project_Structure.md
+++ b/docs/Project_Structure.md
@@ -45,7 +45,7 @@ Most of them are made in SVG.
Except for illustrations, there must be an `fill="context-fill" fill-opacity="context-fill-opacity"` property to dynamically determine color and transparency.
-Icons are mainly [FirefoxUX/photon-icons](https://github.com/FirefoxUX/photon-icons)
+Icons are mainly [FirefoxUX/acorn-icons](https://github.com/FirefoxUX/acorn-icons), [FirefoxUX/photon-icons](https://github.com/FirefoxUX/photon-icons)
or [microsoft/fluentui-system-icons](https://github.com/microsoft/fluentui-system-icons).
Although not yet used, [tabler/tabler-icons](https://github.com/tabler/tabler-icons) and [feathericons/feather](https://github.com/feathericons/feather) can also be referred to.
diff --git a/docs/Smart_Bookmarks.md b/docs/Smart_Bookmarks.md
index b3de43f..3727eea 100644
--- a/docs/Smart_Bookmarks.md
+++ b/docs/Smart_Bookmarks.md
@@ -87,7 +87,7 @@ Here's a list of the parameters available that you can look for.
| | | `PLACES_ROOT`: The Places root folder. |
| | | `BOOKMARKS_MENU`: The Bookmarks menu. |
| | | `TOOLBAR`: The bookmarks toolbar. |
-| | | `TAGS`: Tags |
+| | | `TAGS`: Tags. |
| | | `UNFILED_BOOKMARKS`: Unfiled bookmarks |
| `!annotation` | `boolean` | Indicates whether to include or reject items matching the annotation specified by `annotation`. If `true`, items that don't have the specified annotation are rejected. |
| `annotation` | `string` | The annotation to match when querying. |
@@ -113,38 +113,38 @@ The following attributes allow you to control the results more precisely.
| `maxResults` | `unsigned long` | The maximum number of results to return. This doesn't work when sorting by title. The result is `0`, which means that all results are returned. |
| `originalTitle` | `string` | Retrieves the original page title. |
| `queryType` | `unsigned short` | The type of search to use when querying the database. This attribute is only honored by query nodes. It's ignored for simple folder queries. |
-| | | `0`: History |
-| | | `1`: Bookmarks |
-| | | `2`: Both history and bookmarks (**Not yet implemented** -- see [bug 378798](https://bugzilla.mozilla.org/show_bug.cgi?id=378798)) |
+| | | `0`: History. |
+| | | `1`: Bookmarks. |
+| | | `2`: Both history and bookmarks (**Not yet implemented** -- see [bug 378798](https://bugzilla.mozilla.org/show_bug.cgi?id=378798)). |
| `resolveNullBookmarkTitles` | `boolean` | If `true`, bookmarks with null titles get their page titles fetched from history if possible. This doesn't apply to bookmarks with empty titles. The default is `false`. |
| `showSessions` | `boolean` | If `true`, session information is used to group history items. This only makes a difference when sorting by date. The default is `false`. |
| `sort` | `unsigned short` | The sort order to use for the results. |
-| | | `0`: Natural bookmark order |
-| | | `1`: Sort by title, A-Z |
-| | | `2`: Sort by title, Z-A |
-| | | `3`: Sort by visit date, most recent last |
-| | | `4`: Sort by visit date, most recent first |
-| | | `5`: Sort by uri, A-Z |
-| | | `6`: Sort by uri, Z-A |
-| | | `7`: Sort by visit count, ascending |
-| | | `8`: Sort by visit count, descending |
-| | | `9`: Sort by keyword, A-Z |
-| | | `10`: Sort by keyword, Z-A |
-| | | `11`: Sort by date added, most recent last |
-| | | `12`: Sort by date added, most recent first |
-| | | `13`: Sort by last modified date, most recent last |
-| | | `14`: Sort by last modified date, most recent first |
-| | | `17`: Sort by tags, ascending |
-| | | `18`: Sort by tags, descending |
-| | | `19`: Sort by annotation, ascending |
-| | | `20`: Sort by annotation, descending |
+| | | `0`: Natural bookmark order. |
+| | | `1`: Sort by title, A-Z. |
+| | | `2`: Sort by title, Z-A. |
+| | | `3`: Sort by visit date, most recent last. |
+| | | `4`: Sort by visit date, most recent first. |
+| | | `5`: Sort by uri, A-Z. |
+| | | `6`: Sort by uri, Z-A. |
+| | | `7`: Sort by visit count, ascending. |
+| | | `8`: Sort by visit count, descending. |
+| | | `9`: Sort by keyword, A-Z. |
+| | | `10`: Sort by keyword, Z-A. |
+| | | `11`: Sort by date added, most recent last. |
+| | | `12`: Sort by date added, most recent first. |
+| | | `13`: Sort by last modified date, most recent last. |
+| | | `14`: Sort by last modified date, most recent first. |
+| | | `17`: Sort by tags, ascending. |
+| | | `18`: Sort by tags, descending. |
+| | | `19`: Sort by annotation, ascending. |
+| | | `20`: Sort by annotation, descending. |
| `sortingAnnotation` | `string` | The annotation to use when sorting by annotation. |
| `type` | `unsigned short` | The type of results to return. |
| | | `0`: Results as URI ("URI" results, one for each URI visited in the range). |
| | | `1`: Results as visit ("visit" results, with one for each time a page was visited this will often give you multiple results for one URI). |
-| | | `2`: Results as full visits (like "visit", but returns all attributes for each result) |
-| | | `3`: Results as date query (returns results for given date range) |
-| | | `4`: Results as site query (returns last visit for each url in the given host) |
-| | | `5`: Results as date+site query (returns list of hosts visited in the given period) |
-| | | `6`: Results as tag query (returns list of bookmarks with the given tag) |
-| | | `7`: Results as tag container (returns bookmarks with given tag; for same uri uses last modified. `folder=tag_folder_id` must be present in the query |
+| | | `2`: Results as full visits (like "visit", but returns all attributes for each result). |
+| | | `3`: Results as date query (returns results for given date range). |
+| | | `4`: Results as site query (returns last visit for each url in the given host). |
+| | | `5`: Results as date+site query (returns list of hosts visited in the given period). |
+| | | `6`: Results as tag query (returns list of bookmarks with the given tag). |
+| | | `7`: Results as tag container (returns bookmarks with given tag; for same uri uses last modified. `folder=tag_folder_id` must be present in the query. |
diff --git a/icons/add-device.svg b/icons/add-device.svg
new file mode 100644
index 0000000..10fef2b
--- /dev/null
+++ b/icons/add-device.svg
@@ -0,0 +1,7 @@
+
+
diff --git a/icons/highlight.svg b/icons/highlight.svg
new file mode 100644
index 0000000..74105a7
--- /dev/null
+++ b/icons/highlight.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/link.svg b/icons/link.svg
index e3a0ae8..cbc15a2 100644
--- a/icons/link.svg
+++ b/icons/link.svg
@@ -1,8 +1,6 @@
-
\ No newline at end of file
+
diff --git a/icons/pin-tab.svg b/icons/pin-tab.svg
index 719eeed..2a30c3f 100644
--- a/icons/pin-tab.svg
+++ b/icons/pin-tab.svg
@@ -1,6 +1,6 @@
-