Code: Select all
[["www.google.com",["/search\\?q.*/",[".pipeThrough(new TextDecoderStream)","","await b.read();","await b.read();var dd = new TextDecoder().decode(h);h=dd;"]]]]Moderator: trava90

Code: Select all
[["www.google.com",["/search\\?q.*/",[".pipeThrough(new TextDecoderStream)","","await b.read();","await b.read();var dd = new TextDecoder().decode(h);h=dd;"]]]]
Code: Select all
[["www.google.com",["/search\\?q.*/",[".pipeThrough(new TextDecoderStream)","","await b.read();","await b.read();var dd = new TextDecoder().decode(g);g=dd;"]]]]
Code: Select all
[["www.google.com",["/search\\?q.*/",[".pipeThrough(new TextDecoderStream)","","await b.read();","await b.read();var dd = new TextDecoder().decode(f);f=dd;"]]]]

Code: Select all
// ==UserScript==
// @name Gemini Pale Moon - Conservative Smoothness (V32.5b Flat Background, Readable Fixed)
// @namespace gemini-pm-v325b-readable-fixed
// @version 32.5b
// @description Improves Gemini compatibility and UI smoothness on Pale Moon: keeps the original V32.5b behavior and fallbacks, while adding clearer bilingual comments.
// @match https://gemini.google.com/*
// @grant none
// @run-at document-start
// ==/UserScript==
/*
* Gemini Pale Moon - Conservative Smoothness (V32.5b Readable Fixed)
* Gemini Pale Moon - 保守平滑化版本(V32.5b 可讀性修正版)
*
* Feature list:
* 功能清單:
* 1) Keep the original V32.5b compatibility fallbacks, including missing Intl constructors and methods.
* 1) 保留原始 V32.5b 的相容性補丁,包含缺少的 Intl 建構子與方法。
* 2) Keep the V30-like squared UI adjustments for buttons, cards, panels, and inputs.
* 2) 保留類似 V30 的方正介面調整,涵蓋按鈕、卡片、面板與輸入元件。
* 3) Keep the flat main-content background that removes decorative gradients and glow.
* 3) 保留主內容區純色背景,移除裝飾性漸層與光暈。
* 4) Keep the conservative rendering profile to reduce shadows, filters, and animation cost.
* 4) 保留保守繪製設定,降低陰影、濾鏡與動畫成本。
* 5) Keep the hiding of recent-conversation clutter, as in V32.5 / V32.5b.
* 5) 保留 V32.5 / V32.5b 的近期對話隱藏行為,減少側欄雜訊。
* 6) Preserve avatars in V32.5b so weather-card and tool-card icons are not accidentally hidden.
* 6) 保留 V32.5b 的頭像顯示,避免誤傷天氣卡或工具卡圖示。
*
* Change notes:
* 變更說明:
* - This readable-fixed build keeps the original V32.5b logic instead of rewriting core behavior.
* - 此可讀性修正版保留原始 V32.5b 邏輯,不重寫核心行為。
* - The goal is readability only: clearer structure, clearer comments, same behavior.
* - 目標僅為提升可讀性:結構更清楚、註解更清楚、行為維持一致。
* - It restores the original Intl fallbacks that were accidentally reduced in the previous readable draft.
* - 它補回前一版 readable 草稿中不小心被精簡掉的原始 Intl 補丁。
*/
(function () {
'use strict';
/*
* V32.5 以 V32.3 為基礎:
* - 保持「近期對話」隱藏,避免其虛擬清單及捲動偵測負擔。
* - 不修改 fetch、XHR、WASM、EventTarget、Observer 或 Gemini RPC。
* - 新增:只處理主內容區的背景漸層/光暈,改用純色背景。
* - 取消:不再隱藏頭像,避免誤傷天氣卡/工具卡圖示。
*/
// --- A. Page-context Intl polyfill (required at document-start) ---
var pageCode = [
'(function () {',
'"use strict";',
'var I = window.Intl || (window.Intl = {});',
'',
'if (typeof I.ListFormat !== "function") {',
' I.ListFormat = function ListFormat(locales, options) {',
' options = options || {};',
' this.style = options.style || "long";',
' this.type = options.type || "conjunction";',
' };',
' I.ListFormat.prototype.format = function (items) {',
' var list = Array.prototype.map.call(items || [], String);',
' return list.length < 2 ? list.join("") : list.join("、");',
' };',
' I.ListFormat.prototype.formatToParts = function (items) {',
' var list = Array.prototype.map.call(items || [], String);',
' var parts = [], i;',
' for (i = 0; i < list.length; i++) {',
' if (i) parts.push({ type: "literal", value: "、" });',
' parts.push({ type: "element", value: list[i] });',
' }',
' return parts;',
' };',
' I.ListFormat.prototype.resolvedOptions = function () {',
' return { locale: "zh-TW", style: this.style, type: this.type };',
' };',
'}',
'',
'if (typeof I.RelativeTimeFormat !== "function") {',
' I.RelativeTimeFormat = function RelativeTimeFormat(locales, options) {',
' options = options || {};',
' this.numeric = options.numeric || "always";',
' this.style = options.style || "long";',
' };',
' I.RelativeTimeFormat.prototype.format = function (value, unit) {',
' value = Number(value);',
' unit = String(unit || "second");',
' if (value === 0) return "現在";',
' return Math.abs(value) + " " + unit + (value < 0 ? "前" : "後");',
' };',
' I.RelativeTimeFormat.prototype.formatToParts = function (value, unit) {',
' return [{ type: "literal", value: this.format(value, unit) }];',
' };',
' I.RelativeTimeFormat.prototype.resolvedOptions = function () {',
' return { locale: "zh-TW", numeric: this.numeric, style: this.style };',
' };',
'}',
'',
'console.log("[Gemini Pale Moon] V32.5 page Intl compatibility active.");',
'})();'
].join('\n');
var bootstrap = document.createElement('script');
bootstrap.textContent = pageCode;
(document.documentElement || document.head).appendChild(bootstrap);
bootstrap.parentNode.removeChild(bootstrap);
// --- B. Post-load static CSS only: no scanning, timers, or observers ---
function installStyle() {
if (document.getElementById('pm-gemini-v325-style')) return;
var style = document.createElement('style');
style.id = 'pm-gemini-v325-style';
style.textContent = [
'html { scroll-behavior: auto !important; }',
'',
// V30 square UI and virtually instant transitions.
'*, *::before, *::after {',
' border-radius: 0 !important;',
' animation-duration: 0.01ms !important;',
' animation-delay: 0ms !important;',
' animation-iteration-count: 1 !important;',
' transition-duration: 0.01ms !important;',
' transition-delay: 0ms !important;',
' scroll-behavior: auto !important;',
'}',
'',
// Remove costly shadows, blur and filter compositing.
'[class*="shadow" i], [class*="elevation" i], [class*="drop-shadow" i] {',
' box-shadow: none !important;',
' text-shadow: none !important;',
'}',
'[style*="backdrop-filter" i], [class*="backdrop" i],',
'[style*="filter:" i], [class*="filter-" i] {',
' -webkit-backdrop-filter: none !important;',
' backdrop-filter: none !important;',
' filter: none !important;',
'}',
'',
// Background test: remove only main/landing background art and glow layers.
// This intentionally does not use body so component/card backgrounds are preserved.
'main, [role="main"], chat-app, chat-window,',
'[class*="gradient" i], [class*="hero" i] {',
' background-image: none !important;',
' background-color: #ffffff !important;',
'}',
'main::before, main::after,',
'[role="main"]::before, [role="main"]::after,',
'chat-app::before, chat-app::after,',
'chat-window::before, chat-window::after {',
' background-image: none !important;',
' -webkit-backdrop-filter: none !important;',
' backdrop-filter: none !important;',
' filter: none !important;',
' opacity: 0 !important;',
'}',
'',
'pre, code, code-block, [class*="code-block" i] {',
' text-shadow: none !important;',
' box-shadow: none !important;',
'}',
'',
// Use native off-screen rendering reduction only where supported.
'@supports (content-visibility: auto) {',
' model-response, user-query, [data-message-id], [class*="conversation-turn" i] {',
' content-visibility: auto;',
' contain-intrinsic-size: auto 220px;',
' }',
'}',
'',
// Keep V32.3 behavior: hide recent-chat virtual list and its control.
'#sidenav-section-content-chats,',
'button[aria-controls="sidenav-section-content-chats"] {',
' display: none !important;',
' visibility: hidden !important;',
' pointer-events: none !important;',
' height: 0 !important;',
' margin: 0 !important;',
' padding: 0 !important;',
'}'
].join('\n');
(document.head || document.documentElement).appendChild(style);
console.log('[Gemini Pale Moon] V32.5b active: flat main background + conservative rendering profile, avatars preserved.');
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', installStyle, false);
} else {
installStyle();
}
})();

That worked for me with Pale Moon. Doesn't seem to do anything with Basilisk, so it's Pale Moon specific I guess.jagab wrote: ↑2026-07-27, 01:22My code with
greasemonkey-for-UXP-browsers v3.9 https://github.com/SecondCityOsD/greasemonkey-for-UXP-browsers
Palefill V1.3 https://martok.github.io/palefill/
Code: Select all
// ==UserScript== // @name Gemini Pale Moon - Conservative Smoothness (V32.5b Flat Background, Readable Fixed) // @namespace gemini-pm-v325b-readable-fixed // @version 32.5b // @description Improves Gemini compatibility and UI smoothness on Pale Moon: keeps the original V32.5b behavior and fallbacks, while adding clearer bilingual comments. // @match https://gemini.google.com/* // @grant none // @run-at document-start // ==/UserScript== /* * Gemini Pale Moon - Conservative Smoothness (V32.5b Readable Fixed) * Gemini Pale Moon - 保守平滑化版本(V32.5b 可讀性修正版) * * Feature list: * 功能清單: * 1) Keep the original V32.5b compatibility fallbacks, including missing Intl constructors and methods. * 1) 保留原始 V32.5b 的相容性補丁,包含缺少的 Intl 建構子與方法。 * 2) Keep the V30-like squared UI adjustments for buttons, cards, panels, and inputs. * 2) 保留類似 V30 的方正介面調整,涵蓋按鈕、卡片、面板與輸入元件。 * 3) Keep the flat main-content background that removes decorative gradients and glow. * 3) 保留主內容區純色背景,移除裝飾性漸層與光暈。 * 4) Keep the conservative rendering profile to reduce shadows, filters, and animation cost. * 4) 保留保守繪製設定,降低陰影、濾鏡與動畫成本。 * 5) Keep the hiding of recent-conversation clutter, as in V32.5 / V32.5b. * 5) 保留 V32.5 / V32.5b 的近期對話隱藏行為,減少側欄雜訊。 * 6) Preserve avatars in V32.5b so weather-card and tool-card icons are not accidentally hidden. * 6) 保留 V32.5b 的頭像顯示,避免誤傷天氣卡或工具卡圖示。 * * Change notes: * 變更說明: * - This readable-fixed build keeps the original V32.5b logic instead of rewriting core behavior. * - 此可讀性修正版保留原始 V32.5b 邏輯,不重寫核心行為。 * - The goal is readability only: clearer structure, clearer comments, same behavior. * - 目標僅為提升可讀性:結構更清楚、註解更清楚、行為維持一致。 * - It restores the original Intl fallbacks that were accidentally reduced in the previous readable draft. * - 它補回前一版 readable 草稿中不小心被精簡掉的原始 Intl 補丁。 */ (function () { 'use strict'; /* * V32.5 以 V32.3 為基礎: * - 保持「近期對話」隱藏,避免其虛擬清單及捲動偵測負擔。 * - 不修改 fetch、XHR、WASM、EventTarget、Observer 或 Gemini RPC。 * - 新增:只處理主內容區的背景漸層/光暈,改用純色背景。 * - 取消:不再隱藏頭像,避免誤傷天氣卡/工具卡圖示。 */ // --- A. Page-context Intl polyfill (required at document-start) --- var pageCode = [ '(function () {', '"use strict";', 'var I = window.Intl || (window.Intl = {});', '', 'if (typeof I.ListFormat !== "function") {', ' I.ListFormat = function ListFormat(locales, options) {', ' options = options || {};', ' this.style = options.style || "long";', ' this.type = options.type || "conjunction";', ' };', ' I.ListFormat.prototype.format = function (items) {', ' var list = Array.prototype.map.call(items || [], String);', ' return list.length < 2 ? list.join("") : list.join("、");', ' };', ' I.ListFormat.prototype.formatToParts = function (items) {', ' var list = Array.prototype.map.call(items || [], String);', ' var parts = [], i;', ' for (i = 0; i < list.length; i++) {', ' if (i) parts.push({ type: "literal", value: "、" });', ' parts.push({ type: "element", value: list[i] });', ' }', ' return parts;', ' };', ' I.ListFormat.prototype.resolvedOptions = function () {', ' return { locale: "zh-TW", style: this.style, type: this.type };', ' };', '}', '', 'if (typeof I.RelativeTimeFormat !== "function") {', ' I.RelativeTimeFormat = function RelativeTimeFormat(locales, options) {', ' options = options || {};', ' this.numeric = options.numeric || "always";', ' this.style = options.style || "long";', ' };', ' I.RelativeTimeFormat.prototype.format = function (value, unit) {', ' value = Number(value);', ' unit = String(unit || "second");', ' if (value === 0) return "現在";', ' return Math.abs(value) + " " + unit + (value < 0 ? "前" : "後");', ' };', ' I.RelativeTimeFormat.prototype.formatToParts = function (value, unit) {', ' return [{ type: "literal", value: this.format(value, unit) }];', ' };', ' I.RelativeTimeFormat.prototype.resolvedOptions = function () {', ' return { locale: "zh-TW", numeric: this.numeric, style: this.style };', ' };', '}', '', 'console.log("[Gemini Pale Moon] V32.5 page Intl compatibility active.");', '})();' ].join('\n'); var bootstrap = document.createElement('script'); bootstrap.textContent = pageCode; (document.documentElement || document.head).appendChild(bootstrap); bootstrap.parentNode.removeChild(bootstrap); // --- B. Post-load static CSS only: no scanning, timers, or observers --- function installStyle() { if (document.getElementById('pm-gemini-v325-style')) return; var style = document.createElement('style'); style.id = 'pm-gemini-v325-style'; style.textContent = [ 'html { scroll-behavior: auto !important; }', '', // V30 square UI and virtually instant transitions. '*, *::before, *::after {', ' border-radius: 0 !important;', ' animation-duration: 0.01ms !important;', ' animation-delay: 0ms !important;', ' animation-iteration-count: 1 !important;', ' transition-duration: 0.01ms !important;', ' transition-delay: 0ms !important;', ' scroll-behavior: auto !important;', '}', '', // Remove costly shadows, blur and filter compositing. '[class*="shadow" i], [class*="elevation" i], [class*="drop-shadow" i] {', ' box-shadow: none !important;', ' text-shadow: none !important;', '}', '[style*="backdrop-filter" i], [class*="backdrop" i],', '[style*="filter:" i], [class*="filter-" i] {', ' -webkit-backdrop-filter: none !important;', ' backdrop-filter: none !important;', ' filter: none !important;', '}', '', // Background test: remove only main/landing background art and glow layers. // This intentionally does not use body so component/card backgrounds are preserved. 'main, [role="main"], chat-app, chat-window,', '[class*="gradient" i], [class*="hero" i] {', ' background-image: none !important;', ' background-color: #ffffff !important;', '}', 'main::before, main::after,', '[role="main"]::before, [role="main"]::after,', 'chat-app::before, chat-app::after,', 'chat-window::before, chat-window::after {', ' background-image: none !important;', ' -webkit-backdrop-filter: none !important;', ' backdrop-filter: none !important;', ' filter: none !important;', ' opacity: 0 !important;', '}', '', 'pre, code, code-block, [class*="code-block" i] {', ' text-shadow: none !important;', ' box-shadow: none !important;', '}', '', // Use native off-screen rendering reduction only where supported. '@supports (content-visibility: auto) {', ' model-response, user-query, [data-message-id], [class*="conversation-turn" i] {', ' content-visibility: auto;', ' contain-intrinsic-size: auto 220px;', ' }', '}', '', // Keep V32.3 behavior: hide recent-chat virtual list and its control. '#sidenav-section-content-chats,', 'button[aria-controls="sidenav-section-content-chats"] {', ' display: none !important;', ' visibility: hidden !important;', ' pointer-events: none !important;', ' height: 0 !important;', ' margin: 0 !important;', ' padding: 0 !important;', '}' ].join('\n'); (document.head || document.documentElement).appendChild(style); console.log('[Gemini Pale Moon] V32.5b active: flat main background + conservative rendering profile, avatars preserved.'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', installStyle, false); } else { installStyle(); } })();


Code: Select all
[["www.google.com",["/search\\?q.*/",[".pipeThrough(new TextDecoderStream)","","await b.read();","await b.read();var dd = new TextDecoder().decode(g);g=dd;"]]]]