kiến thức Tổng hợp những addon chất cho Firefox / Chromium

Cách xóa bớt các addon có sẵn của Mozilla và Floorp để cho gọn và giảm thêm tí RAM:
  • about:support
  • Nhìn vào phần Application Binary, xem hình dưới cho dễ hiểu:
  • View attachment 2131127
  • Mở folder đó lên từ Explorer
  • Tạo folder tên distribution
  • Tạo file policies.json nếu chưa từng bao giờ
  • Mở lên và thêm:

Cách thức thực hiện tương tự bài tắt Auto-update Firefox vĩnh viễn bằng policies.json.

Kiểm tra trong about:debugging#/runtime/this-firefox sẽ thấy sạch banh:

View attachment 2131113

Process Extensions cũng giảm được chút RAM:
View attachment 2131098
sao m làm trên mac không được bác?
Screenshot 2023-10-17 at 11.15.15.png
 
Bật chế độ chuyển tab giống với Alt+Tab của Windows, nghĩa là đảo qua lại giữa các tab mà mới dùng gần đây cải thiện trải nghiệm khi làm việc với những tab cách xa nhau ngàn cây số:

browser.ctrlTab.sortByRecentlyUsedtrue

Kết, ấn Ctrl+Tab để thấy phép lạ:
View attachment 2131016
Làm sao để seting mỗi icon như thầy gầy thế :big_smile:
Cứ mở 1000 tab là được ah? :waaaht:
 
em mới khám phá ra là giờ muốn dùng dùng css thì chỉ cần ném file đó vào folder CSS trong chrome là được chứ không cần dẩm khô copy paste vào userChrome.css nữa
b9K4jp0.png
Bên floorp nó có cái userscript để load từ folder tên CSS (cái này cố định). Nói chung để quản lý userchrome thì có thể chia thành các folder rồi ở file userChrome.css ngoài cùng chỉ chứa import thôi như vậy thì lấy từ nhiều nguồn nó vẫn dễ quản lý.
 
Mình có cái này mà cũng không biết hỏi ở đâu, nên mạn phép hỏi luôn trong thread này. Mình muốn build cái wget2 này ra exe cho windows. Mình sử dụng MSYS mingw64
GitHub - rockdaboot/wget2: The successor of GNU Wget. Contributions preferred at https://gitlab.com/gnuwget/wget2. But accepted here as well 😍 (https://github.com/rockdaboot/wget2)
với cách như này:
Bash:
    git clone https://gitlab.com/gnuwget/wget2.git
    cd wget2
    ./bootstrap
    # on shell failure try 'bash ./bootstrap'
./configure \
  --build=x86_64-pc-linux-gnu \
  --host=$PREFIX \
  --prefix=$INSTALLDIR \
  --disable-shared &&
  make -j$(nproc)

build thì cũng build ra exe được rồi, mà chả hiểu sao nó lại cần 1 đống thư viện dll mới chạy, bỏ nó vào folder bin của mingw64 đủ dll trong đó thì chạy bt :))) Không biết có cách nào tích hợp không. Bản cũ 2.0.1 thì chủ thớt cũng có build ra rồi nhưng mình muốn tự build bản mới thử. Sáng giờ thử đủ cách mà không được... Sáng giờ thiếu đống thư viện thì cũng mò pacman các kiểu cài được rồi, mà giờ tới đoạn build ra được thì lại bị dính vào đống dll, bỏ riêng ra lỗi ngay. Cám ơn mấy thím đã xem.
 
Cập nhập hướng dẫn kháng anti-adblock của Youtube (và nhiều trang khác bởi bản chất như nhau) của chủ tịch @Fioren ở bài này cho lên #1:

How about linux users changer UA and become mac os and unix os? So how about win user change UA and become linux users, dear sir?
u0vjr8j.png
Khoàng tử du học luật bên Ba Tư quên luôn tiếng mẹ đẻ rồi hả ? :(
 
chuẩn rồi, nhưng cho tiện hơn thì tải về rồi bỏ vào folder CSS trong folder chrome cũng được
RBip2HU.png
Bồi thêm thằng này sẽ đỡ tù hơn này, với đóng tab nhanh như ăn cướp:


iqMzazY.gif
 
Test thử xem
Mình có cái này mà cũng không biết hỏi ở đâu, nên mạn phép hỏi luôn trong thread này. Mình muốn build cái wget2 này ra exe cho windows. Mình sử dụng MSYS mingw64
GitHub - rockdaboot/wget2: The successor of GNU Wget. Contributions preferred at https://gitlab.com/gnuwget/wget2. But accepted here as well 😍 (https://github.com/rockdaboot/wget2)
với cách như này:
Bash:
    git clone https://gitlab.com/gnuwget/wget2.git
    cd wget2
    ./bootstrap
    # on shell failure try 'bash ./bootstrap'
./configure \
  --build=x86_64-pc-linux-gnu \
  --host=$PREFIX \
  --prefix=$INSTALLDIR \
  --disable-shared &&
  make -j$(nproc)

build thì cũng build ra exe được rồi, mà chả hiểu sao nó lại cần 1 đống thư viện dll mới chạy, bỏ nó vào folder bin của mingw64 đủ dll trong đó thì chạy bt :))) Không biết có cách nào tích hợp không. Bản cũ 2.0.1 thì chủ thớt cũng có build ra rồi nhưng mình muốn tự build bản mới thử. Sáng giờ thử đủ cách mà không được... Sáng giờ thiếu đống thư viện thì cũng mò pacman các kiểu cài được rồi, mà giờ tới đoạn build ra được thì lại bị dính vào đống dll, bỏ riêng ra lỗi ngay. Cám ơn mấy thím đã xem.
 
Làm cách nào để có dấu + tab ở vị trí như của bác vậy
Cái này là skin mình tự mod cho nó trong suốt gần như tất cả nút ở thanh công cụ, phù hợp khi chơi giao diện nền.

Tiện đây chia sẻ luôn giao diện trường phái Tab hạt lựu, bật userChrome.css trước nhé:

Code:
/* Example userChrome.css file */

/* Import your desired components first */

/*** Container Indicator To Bottom Of Tab ***/
/* Active tab color for container tabs will use container color */
#tabbrowser-tabs .tab-context-line {display: none;}

/* 1px container line */
#tabbrowser-tabs .tab-background {border-bottom: solid 2px var(--identity-icon-color) !important;} 

/* 2px highlight line for active tab*/
#tabbrowser-tabs .tab-background[selected="true"]  {border-top: solid 2px var(--identity-icon-color, white) !important;}

/*  Clean and tight extensions menu */
#unified-extensions-panel #unified-extensions-view {
    width: 100% !important; /*  For firefox v115.x */
}

#unified-extensions-view{
    --uei-icon-size: 22px; /*  Change icon size */
    --firefoxcss-number-of-extensions-in-a-row: 3; /*  Increase to the number of icons you want in one row */
}

#unified-extensions-view .panel-header,
#unified-extensions-view .panel-header + toolbarseparator,
#unified-extensions-view .panel-subview-body + toolbarseparator,
#unified-extensions-view #unified-extensions-manage-extensions,
#unified-extensions-view .unified-extensions-item-menu-button.subviewbutton,
#unified-extensions-view .unified-extensions-item-action-button .unified-extensions-item-contents{
    display:none !important;
}

#unified-extensions-view .panel-subview-body {
    padding:4px !important;
}

#unified-extensions-view .unified-extensions-item .unified-extensions-item-icon, 
#unified-extensions-view .unified-extensions-item .toolbarbutton-badge-stack {
    margin-inline-end: 0px !important;
}

#unified-extensions-view #overflowed-extensions-list,
#unified-extensions-view #unified-extensions-area,
#unified-extensions-view .unified-extensions-list {
    display: grid !important;
    grid-template-columns: repeat(var(--firefoxcss-number-of-extensions-in-a-row),auto);
    justify-items:left !important;
    align-items:left !important;
}

#unified-extensions-view .unified-extensions-list .unified-extensions-item,
#unified-extensions-view .unified-extensions-list{
     max-width: max-content;
}

#unified-extensions-view #unified-extensions-area {
    padding-bottom: 3px !important;
    border-bottom: 1px solid #aeaeae33 !important;
}

#unified-extensions-view .unified-extensions-list {
/*     border-top: 1px solid #aeaeae33 !important; */
}

#wrapper-edit-controls:is([place="palette"], 
[place="panel"]) > #edit-controls, #wrapper-zoom-controls:is([place="palette"], 
[place="panel"]) > #zoom-controls, :is(panelview, #widget-overflow-fixed-list) .toolbaritem-combined-buttons {
  margin: 0px !important;
}

/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/floating_findbar_on_top.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */

/* This style makes findbar appear as floating box at the top-left of the content area.
 * If you want the findbar on right side instead then create a new pref
 * userchrome.floating-findbar-on-right.enabled and set it to true and restart Firefox
 * 
 * Note that privacy.resistFingerprinting.letterboxing prevents this from working properly
 */

findbar{
  -moz-box-ordinal-group: 0; /* Fx <112 compatibility */
  order: -1;
  margin-bottom: -33px;
  position: relative;
  border-top: none !important;
  padding: 0 !important;
  transition: transform 82ms linear, opacity 82ms linear 32ms !important;
  background: none !important;
  pointer-events: none;
  z-index: 1;
  white-space: nowrap;
}

.findbar-container > .findbar-find-fast{
  padding: var(--toolbarbutton-inner-padding) 1px;
  margin: 0 !important;
}

findbar[hidden]{ transform: translateY(-30px);}

findbar > .findbar-container,
findbar > .close-icon{
  border: 1px solid var(--chrome-content-separator-color);
  border-width: 0 0 1px 0px;
  background-color: var(--lwt-accent-color) !important;
  background-image: linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)),var(--lwt-header-image,none);
  pointer-events: auto;
}

findbar > .findbar-container{
  border-bottom-right-radius: 4px;
  border-right-width: 1px;
  height: initial !important;
  margin-inline: 0px !important;
  overflow-inline: visible !important;
}

.findbar-find-status{
  display: flex;
  overflow: hidden;
  text-overflow: ellipsis;
  -moz-box-flex: 1; /* Fx <112 compatibility */
  flex-grow: 1;
}
 
.findbar-closebutton{
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 5px !important;
  width: initial !important;
  -moz-box-ordinal-group: 0; /* Fx <112 compatibility */
  order: -1;
}
.findbar-closebutton > image{ padding: 3px }
.findbar-closebutton:hover > image{
  background: var(--toolbarbutton-hover-background) !important;
  border-radius: 4px
}
findbar > .findbar-container > hbox{ margin: 0 5px }
 
findbar::after{
  content:"";
  display: flex;
  -moz-box-flex: 100; /* Fx <112 compatibility */
  flex-grow: 100;
} 

@supports -moz-bool-pref("userchrome.floating-findbar-on-right.enabled"){
  findbar{
    -moz-box-direction: reverse; /* Fx <112 compatibility */
    flex-direction: row-reverse;
  }
  findbar > .findbar-container{
    -moz-box-direction: reverse;
    flex-direction: row-reverse;
    border-inline-width: 1px 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 4px;
  }
  /*
  Move findbar so it isn't over the scrollbar
  Delete if you want findbar to begin from right window edge
  */
  findbar{
    margin-right: 16px;
    border-right: 1px solid var(--chrome-content-separator-color);
  }
}

/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/icon_only_tabs.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */

.tab-content > :not(.tab-icon-stack){
  display: none
}
.tab-icon-image:not([src]){
  display: block !important;
}
.tab-icon-stack{
  margin-left: -1px!important;
}
.tab-icon-stack > *{ margin-inline: 0 !important; }
.tabbrowser-tab{
  flex-grow: 0 !important;
}

.tabbrowser-tab[fadein]{ min-width: calc(16px + 2 * 10px + 4px) !important; }
:root[uidensity="compact"] .tabbrowser-tab[fadein]{
  min-width: calc(16px + 2 * var(--inline-tab-padding,0px) + 4px) !important;
}
:root:not([uidensity="compact"]) .tab-content{ padding-inline: 10px !important; }

/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/combined_favicon_and_tab_close_button.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */

/* Show tab close button when cursor is over the tab icon */

/* inline_tab_audio_icons.css is recommended because otherwise you cannot mute the tab using the mute button */

.tab-content{
  pointer-events: none
}
.tab-icon-image:not([busy]){ display: block !important; }
:where(.tab-content:hover) .tab-icon-image,
:where(.tab-content:hover) > .tab-icon-stack{
  visibility: hidden;
}
.tab-close-button{
  -moz-box-ordinal-group: 0; /* Firefox <112 compatibility */
  order: -1;
  display: flex !important;
  position: relative;
  margin-inline: -4px -20px !important;
  padding-inline-start: 7px !important;
  opacity: 0;
  width: unset !important;
  pointer-events: auto;
}
.tab-close-button:hover{ opacity: 1 }
.tabbrowser-tab[pinned] .tab-close-button{ display: none !important; }

/*TITLEBAR BUTTONS */

.titlebar-button {
  padding: 0px!important;
}

:root {
    --ext-theme-background-transition: unset!important;
}

/* Screen Flashing Fix */
#appcontent, #tabbrowser-tabbox, #browser {
  background: darkgray!important;
    opacity: 1!important;
}

/* Unloaded Tab Color */
.tabbrowser-tab:not([pending=true]):not([selected=true]) .tab-background {
    background: lightgreen!important;
    opacity: 0.4!important;
}

/* Unloaded Tab Color */
.tabbrowser-tab[selected=true] .tab-background {
    background: darkgreen!important;
    opacity: 0.4!important;
}

/* MISC */

#unified-extensions-button {
    color: red!important;
}

/* Center Bookmark Items */
#PlacesToolbarItems {
  display: flex !important;
  justify-content: center !important;
}
/* Hide Bookmark Labels */
#personal-bookmarks .bookmark-item > .toolbarbutton-text {
  display: none !important;
}

/*
:root{
  --toolbar-bgcolor: rgba(200,200,200,0.1) !important;
  --lwt-selected-tab-background-color: rgba(200,200,200,0.1) !important;
}
#TabsToolbar{ --toolbar-bgcolor: transparent }
*/


:root * {
    box-shadow: unset!important;
    border-radius: unset!important;
}

#TabsToolbar {
    margin-top: -6px!important;
    margin-bottom: -6px!important;
}

#TabsToolbar #firefox-view-button[open]:not(:focus-visible) > .toolbarbutton-icon:-moz-lwtheme, .tab-background[selected]:not([multiselected="true"]):-moz-lwtheme {
  outline: 0!important;
  outline-offset: 0!important;
}

/*
:root {
 --tab-min-height: 20px !important;
 --tab-max-height: 20px !important;
}
*/
/*
.tab-background:not([selected="true"]) {
  background: darkgrey!important;
}
*/
.titlebar-spacer {
  display: none!important;
}

.tab-throbber, .tab-icon-pending, .tab-icon-image:not([src]) {
  display: none!important;
}

#contentAreaContextMenu {
    margin-left: 2px!important;
}

/* ---Menu Bar height--- */
#toolbar-menubar {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  line-height: 22px !important;
  max-height: 22px !important;
}
/* Fixing toolbar buttons (close/min/max) due to shoretened Menu Bar height */
#toolbar-menubar .titlebar-button{ padding-block: 0px !important; }

#toolbox-notificationbox {
    display: none !important;
}

Tính năng:
1697530976233.png
 
Back
Top