Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№110101-09-2023 19:04:22

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

fuchsfan

fuchsfan пишет

Появилась такая фича

Это не фича. Здесь, третий абзац объясняется почему.
Проверил у себя с правкой Farby - работает, не двоит и не троит...

Отредактировано LGS (01-09-2023 19:12:19)

Отсутствует

 

№110201-09-2023 19:26:24

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

LGS пишет

Это не фича. Здесь, третий абзац объясняется почему.

В боковой панели не двоит, двоит только в "управлении закладками". Пробую не в UCF, а c загрузчиком Aris-t2.

Отсутствует

 

№110301-09-2023 19:51:28

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

fuchsfan пишет

Пробую не в UCF, а c загрузчиком Aris-t2

Возможно, из-за этого и размножается. Если есть желание, проверьте в UCF и custom_script.js. У меня в "Управлении закладками" все нормально.

Отсутствует

 

№110401-09-2023 20:02:23

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

LGS пишет

проверьте в UCF и custom_script.js. У меня в "Управлении закладками" все нормально.

При активации в CustomStylesScripts.jsm не двоит, при добавлении кода в custom_script.js двоит. При активации в Aris-t2 двоит.

Отредактировано fuchsfan (01-09-2023 20:43:16)

Отсутствует

 

№110501-09-2023 23:49:54

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 306
UA: Google 2.1

Re: UCF - ваши кнопки, скрипты…

fuchsfan пишет

При активации в CustomStylesScripts.jsm не двоит, при добавлении кода в custom_script.js двоит. При активации в Aris-t2 двоит.

Скажете пожалуйста, а до моего предложения у Вас хоть раз встречалась "Экспорт папки в HTML"?

Отредактировано Farby (01-09-2023 23:51:20)


Жизнь иногда такое выкидывает, что хочется подобрать...

Отсутствует

 

№110602-09-2023 07:42:26

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

Farby пишет

Скажете пожалуйста, а до моего предложения у Вас хоть раз встречалась "Экспорт папки в HTML"?

До вашего предложения я этот скрипт не использовал.

Отсутствует

 

№110702-09-2023 10:55:08

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

А починить можно такую jsm-ку, первый спойлер..?  Или сконвертировать в mjs..? ЛКМ для userChrome.css работает, правая для userContent.css - нет.
Пробовал сам переделать, как здесь Dumby объяснял - результат нулевой.

Отсутствует

 

№110802-09-2023 19:41:34

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 306
UA: Google 2.1

Re: UCF - ваши кнопки, скрипты…

LGS пишет

А починить можно такую jsm-ку

MJS`ка

Reload user{Chrome, Content}.css

Выделить код

Код:

// в custom_script.js (async url => ChromeUtils.importESModule(url))( "chrome://user_chrome_files/content/custom_scripts/Actors/userContentReloader.mjs");

var name = "UCF_userContentReloader"; /*, EXPORTED_SYMBOLS = [name + "Child"]; */ export {UCF_userContentReloaderChild};
if (typeof Services != "object")
	/* eslint-disable-next-line no-var */
	var Services = globalThis.Services;

var find = function(sheet) {
	return sheet.href == this;
}
var getSheet = (doc, href) =>
	InspectorUtils.getAllStyleSheets(doc).find(find, href);

if (!ChromeUtils.domProcessChild.childID) {
	var noop = () => {};
	ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs").CustomizableUI.createWidget({
		label: "Reload user{Chrome, Content}.css",
		tooltiptext: "L: Reload userChrome.css\nR: Reload userContent.css",

		id: "ucf-userContentReloader",
		localized: false,
		onCreated(btn) {
			btn._handleClick = this.click;
			btn.oncontextmenu = oncontextmenu;
			btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAIpwAACKcBMsYCAwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMwSURBVEiJ5dbNb5RVFMfxz3mmrYgYE0IN4IaKb4n4UqOwMCYu2JCoQVDiwoUrQ4j0xao7ExITQxRoodEFK1cmRkSE8AeYYKpEFF0YY4SiUSMRQW0sLe0818U8nekwHe3U7vhtnnNOzj3f89znPvderjVFK8npaSWrPSjpElahQzhvyrF4y++t1GqbF7DHOvQLj6Ozrt2EDutYRHAasMK0vXgWWZO0SX/7DlJf6Skp3UWcFeVRV4zG235tCZx6rDPtKLqqAN4XPhROm3DJEiG3LA6aKkZ14jUSKaOd1Gsco6Qz8vRiDDvTFJz63S13AjdVAg7JvBxDzs2RfrE2MP9ijolZijvJXo/h8pmmb5z6LZf7qICWJQNxwP5mM1OnzNdy03V1U0oi2x77y+/Wp16t3CDWgvDKvKGIQZepfO+iWBIpKG9s7HGW0k7dKgsJjsSQffOF1or4srAuS04U9jOp14amYGGgiF2Re6llaEWnMSbPNyl5DtNFQzvnBKdd2oRNhXt4ZvW1rCwfkbInY9jHMeiscBiEJ9Lz2mfSaovgovXC8sI7siAoYsgnMy8JkmPYhhtdbwOV6a9NdVhT69qphYIblPl0FuO2WrimVVVrcu7dZkFqd75q525uBCelqj0tXzRwvSYbwWZ1doOVi4Yad0vVDj81gjPfV+2y9YsGLnlgFrj6p9TA405irPAemwmn/raNqc/D/wO9uXj+bMhXDeDihDledLYt9VmTektb5flxebYgcOpx+yzw0aic3vXgSqY9hdUuOUx6T+WWcX/LUELYh3ZMyqq1G8FxwCl8ULjdVFd6d6tgPQbMfLIwHIPONgVXWs1OFm3Mjt6Rdlg2X2bq0yfsLtzP/OHVq3PqzuPUm/Vj9xz9ZDrcg5F/Bb6gS8mbkq1F6EdlW+IdE03Baae1pEeJb1SuO0vrMvPsPvKRArDaChf8qWRal/BQccBsxnXFiBFTtjS7czW93qYdVurQJZW6SLeK+DaGyofSLh0uGUNHk6F/SfZI3ojh2k41b3DThnrdS+1/nAnjcxzR5mDsdeG/6szrXl2nJX4w4RFJJ3LhF7lzMey3lmtdU/oHaoj4Y/PDRWgAAAAASUVORK5CYII=");
		},
		get click() {
			var {file, spec} = getURI("hrome");
			var chromeSheet = getSheet(Services.wm.getMostRecentWindow(null).document, spec);
			delete this.click;
			return this.click = !chromeSheet ? noop : function() {
				var win = this.ownerGlobal;
				if (win.event?.detail < 2 && file.exists())
					reload(chromeSheet),
					win.setTimeout(restyle, 50);
			}
		}
	});
	var getURI = sub => {
		var file = Services.dirsvc.get("UChrm", Ci.nsIFile);
		file.append(`userC${sub}.css`);
		return Services.io.newFileURI(file).QueryInterface(Ci.nsIFileURL);
	}
	var oncontextmenu = e => e.ctrlKey || e.shiftKey || e.detail != 1 || contextmenu(e);

	var contextmenu = e => {
		var {file, spec} = getURI("ontent");
		var wb = Services.appShell.createWindowlessBrowser();
		var contentSheet = getSheet(wb.document, spec);
		wb.close();

		if (!contentSheet) return oncontextmenu = contextmenu = noop;

		ChromeUtils.registerProcessActor(name, {child: {esModuleURI: Components.stack.filename}});
		(contextmenu = async e => {
			if (!file.exists()) return;
			e.preventDefault();
			var data = await reload(contentSheet, Object.create(null));
			if (data) for(var p in data) {
				for(var dp of ChromeUtils.getAllDOMProcesses())
					dp.remoteType && await dp.getActor(name).sendQuery(spec, data);
				restyle();
				return;
			}
		})(e);
	}

	var restyle = () => {
		var subst = "u_css_reloader_restyle_substitution";
		var rph = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
		rph.setSubstitution(subst, Services.io.newURI("data:text/css,:root{}"));

		var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
		var args = [Services.io.newURI(`resource://${subst}/`), sss.USER_SHEET];
		(restyle = () => {
			sss.loadAndRegisterSheet(...args);
			sss.unregisterSheet(...args);
		})();
	}
	var reload = async (sheet, obj) => {
		try {var style = await (await fetch(sheet.href)).text();}
		catch {return obj;}

		InspectorUtils.parseStyleSheet(sheet, style);
		if (obj) obj[sheet.href] = style;
		for(var ind = 0, len = sheet.cssRules.length; ind < len; ind++) {
			var rule = sheet.cssRules.item(ind);

			rule.type == rule.IMPORT_RULE
			&& rule.styleSheet.href.startsWith("file:///")
			&& await reload(rule.styleSheet, obj);
		}
		return obj;
	}
}
else var UCF_userContentReloaderChild = class extends JSProcessActorChild {
	receiveMessage(msg) {
		var {sheet} = this;
		if (!sheet) {
			var en = Services.ww.getWindowEnumerator(null);
			if (en.hasMoreElements()) sheet =
				this.sheet = getSheet(en.getNext().document, msg.name);
		}
		sheet && this.parse(sheet, msg.data);
	}
	parse(sheet, data) {
		var style = data[sheet.href];
		if (!style) return;

		InspectorUtils.parseStyleSheet(sheet, style);
		for(var ind = 0, len = sheet.cssRules.length; ind < len; ind++) {
			var rule = sheet.cssRules.item(ind);

			rule.type == rule.IMPORT_RULE
			&& rule.styleSheet.href.startsWith("file:///")
			&& this.parse(rule.styleSheet, data);
		}
	}
}


Жизнь иногда такое выкидывает, что хочется подобрать...

Отсутствует

 

№110902-09-2023 20:41:05

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

Farby, благодарю, заработало. Вспомнил, что не на все правки в userContent.css "на лету" ПКМ реагирует, все равно приходится перезагружать. А я как раз на таком стиле и проверял. Догадался на других проверить - срабатывает.

Отсутствует

 

№111004-09-2023 11:59:27

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

Farby пишет

Наверное можно так...

Спасибо, работает. :beer:

Отсутствует

 

№111109-09-2023 11:12:14

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

Dumby, вы не могли бы написать скрипт, который убирает фокус из строки поиска на страницах about:config и about:cfg..?
Нечто подобное вы делали здесь, только там нужно было убрать фокус из адресной строки и поместить его в строку поиска about:home, а мне надо убрать фокус из строки поиска about:config, about:cfg аналогично щелчку мыши вне строки поиска.

Отсутствует

 

№111209-09-2023 15:45:21

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2249
UA: Firefox 78.0

Re: UCF - ваши кнопки, скрипты…

LGS пишет

скрипт, который убирает фокус из строки поиска на страницах about:config и about:cfg..?

Хмм, убирает когда?
Если при загрузке, то, может быть, создать blur.js

скрытый текст

Выделить код

Код:

location.pathname == "config"
	? document.getElementById("about-config-search").blur()
	: textbox.addEventListener("focus", e => e.target.blur(), {once: true});


И прописать в CustomStylesScriptsChild.jsm, в массив DOMContentLoaded
{ path: "blur.js", urlregxp: /^about:c(?:f|onfi)g(?:\?.+)?$/ },


Ну, и убедиться, что в настройках UCF стоит галка
[✔] Включить стили и скрипты для контента [about:, chrome:, moz-extension:]

Отсутствует

 

№111309-09-2023 17:55:51

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 101
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

Dumby пишет

Ну, и убедиться, что в настройках UCF стоит галка
[✔] Включить стили и скрипты для контента [about:, chrome:, moz-extension:]

Ценное замечание, так бы я долго проверял почему не работает. Но теперь фоновая картинка бесит: custom_styles\png\background.png. Как ее культурно отключить, кроме переименования/удаления..?
Вроде все внутренности UCF проверил, но что-то ничего подходящего не нашел. Подозреваю, что в самом CustomStylesScriptsChild.jsm прописано как картинка подтягивается, но где именно - не пойму.

Кажется разобрался, все просто. Надо в CustomStylesScriptsChild.jsm закомментировать строку { path: "common.css", type: "USER_SHEET", sheet(f) { preloadSheet(this, f); }, },

Отредактировано LGS (09-09-2023 18:20:25)

Отсутствует

 

№111412-09-2023 15:17:59

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 475
UA: Firefox 97.0

Re: UCF - ваши кнопки, скрипты…

на Firefox 117 диалог настроек UCF не запоминает ничего - можно установить флажки, закрыть настройки UCF.
Снова открываем диалог, где все флажки сняты. Cтавил со всеми нужными правками, проверял на Windows 10 на пустом профиле.
Не работают все команды этого диалога: "Перезапустить*" и прочие… Может для чистого профиля с UCF что-то в about:config надо добавлять?
"toolkit.legacyUserProfileCustomizations.stylesheets" установлен в true.


Вот архив изменённого UCF – у кого работает UCF на FF 117, подскажите, где ошибка в правленных файлах???

Отредактировано Dobrov (12-09-2023 15:32:43)

Отсутствует

 

№111512-09-2023 15:53:49

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 306
UA: Google 2.1

Re: UCF - ваши кнопки, скрипты…

Dobrov пишет

у кого работает UCF на FF 117, подскажите

у меня его нет, но можно начать с

chrome\user_chrome_files\options\prefs.js

Выделить код

Код:

// var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");


Жизнь иногда такое выкидывает, что хочется подобрать...

Отсутствует

 

№111612-09-2023 17:04:32

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 475
UA: Firefox 97.0

Re: UCF - ваши кнопки, скрипты…

Farby - спасибо! убрал забытый var {Services}… в user_chrome_files/options/prefs.js, всё заработало.


to_Alls сделал версию UCF, совместимую с Firefox 78-116, папки Firefox, chrome/user_chrome_files


не знаю, как исправить для Firefox 117 — в нём не подключаются стили и скрипты…

Отредактировано Dobrov (14-09-2023 08:57:24)

Отсутствует

 

№111719-09-2023 14:27:55

b0ttle
Участник
 
Группа: Members
Зарегистрирован: 22-10-2020
Сообщений: 182
UA: Firefox 117.0

Re: UCF - ваши кнопки, скрипты…

Оказывается все итак работает. По сообщению выше, думал есть какие-то проблемы в 117.

Отредактировано b0ttle (22-09-2023 09:45:44)

Отсутствует

 

№111821-09-2023 17:52:50

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 570
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

Dumby
Вот здесь Вы давали кнопку  для открытия папок виндовс.
Сейчас она не работает, можно ее починить ?

Отсутствует

 

№111921-09-2023 18:58:29

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

rubel
Эта работает

скрытый текст

Выделить код

Код:

// Скрипт создает подмножество кнопок для запуска приложений, открытия папок и файлов
// Кнопка 1 (Открыть F:\\Firefox Backup)
try {
    CustomizableUI.createWidget({
        id: "add-openfolder1-app",
        label: "Открыть папку 1",
        tooltiptext: "Открыть F:\\Firefox Backup",
        defaultArea: CustomizableUI.AREA_NAVBAR,
	onCreated: btn => btn.image = "file:///D:/Portable Files/Firefox Portable/Profiles/Chrome/icons/folder1.png",
        onCommand: function(event) {
            var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
            file.initWithPath("F:\\Firefox Backup");
            if (file.exists()) file.launch();
        }
    });
} catch(e) {}

// Кнопка 2 (повторяем код с другим путем)

// Следующая кнопка...

Отсутствует

 

№112021-09-2023 19:23:52

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 570
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

fuchsfan
Как Вы её подключаете ?

Отсутствует

 

№112122-09-2023 00:08:10

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 1739
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

rubel пишет

Dumby
Вот здесь Вы давали кнопку  для открытия папок виндовс.
Сейчас она не работает, можно ее починить ?

Да вроде работает, какая версия UCF ?


Win7

Отсутствует

 

№112222-09-2023 03:48:55

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 570
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

kokoss
UCF для FF 115-116 с правками от Dumby.
Как и куда подключать ?

Отсутствует

 

№112322-09-2023 07:11:13

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 118.0

Re: UCF - ваши кнопки, скрипты…

rubel пишет

Как Вы её подключаете ?

Никаких особенностей, в userChrome.js, если Aris-t2, или в CustomStylesScripts.jsm, если UCF.

Отсутствует

 

№112422-09-2023 08:03:51

rubel
Участник
 
Группа: Members
Откуда: г.Самара
Зарегистрирован: 10-05-2005
Сообщений: 570
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

fuchsfan
Создал чистый профиль с чистым user_chrome_files из VitaliyVstyle.github.io-master версия, дата г-м-д: 2021-9-23.
Создал файл WinFolders.js с Вашим кодом, поместил в chrome\user_chrome_files\custom_scripts\WinFolders.js
В Файле CustomStylesScripts.jsm прописал так

Выделить код

Код:

scriptsbackground: [ // В фоне [System Principal]
	    { path: "WinFolders.js", },
            { path: "custom_script.js", },
    ],

Удалил startupCache, перезапускаю и никаких кнопок нигде не появляется, где моя ошибка ?

Отсутствует

 

№112522-09-2023 08:39:24

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 130
UA: Firefox 115.0

Re: UCF - ваши кнопки, скрипты…

rubel пишет

В Файле CustomStylesScripts.jsm прописал так

Практически все сторонние скрипты прописаны в первой сверху секции load

Выделить код

Код:

load: [ // По событию "load"
            { path: "special_widgets.js", ucfobj: true, }, // <-- Special Widgets
         // { path: "auto_hide_sidebar.js", ucfobj: true, }, // <-- Auto Hide Sidebar
            { path: "favicon_in_urlbar.js", ucfobj: true, },
            { path: "ucf-mem-indicator_simple.uc.js", ucfobj: false, },

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]