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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№115101-09-2023 14:53:59

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

Farby
Извиняюсь. Просто заменил модуль, а надо было ещё поменять в custom_script.js
ChromeUtils.import
на
ChromeUtils.importESModule
Спасибо.:beer:

Отсутствует

 

№115201-09-2023 15:31:23

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

Farby пишет

импорт правильный? custom_script.js

custom_script.js лишний этап, можно грузить напрямую с авто-определением JSM<>MJS в CustomStylesScripts.jsm

Выделить код

Код:

jsmImport = (s, e = /\.jsm$/i.test(s) ? "" : "ESModule") => `ChromeUtils.import${e}("chrome://user_chrome_files/content/custom_scripts/${s}")`;
………
	scriptsbackground: [ // В фоне [System Principal]
		{ func: jsmImport("SingleHTML.mjs"), },

Отсутствует

 

№115301-09-2023 15:48:52

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

Ещё не работает "Экспорт папки в HTML".
Что-то я разошёлся ошибки искать в своём профиле. Больше не буду. :(

Отсутствует

 

№115401-09-2023 16:09:40

qwerty1956
Участник
 
Группа: Members
Откуда: Украина, г. Львов
Зарегистрирован: 30-06-2020
Сообщений: 6
UA: Firefox 102.0

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

kokoss пишет
qwerty1956 пишет

Можно ли сделать так, чтобы кнопка about:config из ATB при нажатии ЛКМ открывала страницу about:config в новой вкладке?

Откройте настройки ATB,  включайте  -> Открывать в новой вкладке кнопки и ссылки, и жмёте на "Сохранить настройки".

Блин, забыл про настройки. Спасибо

Отсутствует

 

№115501-09-2023 17:01:06

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

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

Экспорт папки в HTML

Выделить код

Код:

.
			// fp.init(win, win.PlacesUIUtils.getString("EnterExport"), fp.modeSave);
			fp.init(win, win.PlacesUIUtils.promptLocalization.formatValueSync("places-bookmarks-export"), fp.modeSave);


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

Отсутствует

 

№115601-09-2023 18:48:27

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

Farby пишет

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

Появилась такая фича, как будто в код встроен счетчик количества запусков "Управления закладками", один раз открыл - один пункт, три раза открыл - три пункта.
err.png

Отсутствует

 

№115701-09-2023 19:04:22

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

fuchsfan

fuchsfan пишет

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

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

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

Отсутствует

 

№115801-09-2023 19:26:24

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

LGS пишет

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

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

Отсутствует

 

№115901-09-2023 19:51:28

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

fuchsfan пишет

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

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

Отсутствует

 

№116001-09-2023 20:02:23

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 81
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)

Отсутствует

 

№116101-09-2023 23:49:54

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

fuchsfan пишет

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

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

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


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

Отсутствует

 

№116202-09-2023 07:42:26

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

Farby пишет

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

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

Отсутствует

 

№116302-09-2023 10:55:08

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

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

Отсутствует

 

№116402-09-2023 19:41:34

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 208
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);
		}
	}
}


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

Отсутствует

 

№116502-09-2023 20:41:05

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

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

Отсутствует

 

№116604-09-2023 11:59:27

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

Farby пишет

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

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

Отсутствует

 

№116709-09-2023 11:12:14

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

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

Отсутствует

 

№116809-09-2023 15:45:21

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2081
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:]

Отсутствует

 

№116909-09-2023 17:55:51

LGS
Участник
 
Группа: Members
Зарегистрирован: 17-09-2022
Сообщений: 97
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)

Отсутствует

 

№117012-09-2023 15:17:59

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 364
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)

Отсутствует

 

№117112-09-2023 15:53:49

Farby
Участник
 
Группа: Members
Зарегистрирован: 21-11-2012
Сообщений: 208
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");


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

Отсутствует

 

№117212-09-2023 17:04:32

Dobrov
Участник
 
Группа: Members
Зарегистрирован: 04-10-2011
Сообщений: 364
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)

Отсутствует

 

№117319-09-2023 14:27:55

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

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

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

Отсутствует

 

№117421-09-2023 17:52:50

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

Re: UCF - ваши кнопки, темы, дополнения, скрипты…

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

Отсутствует

 

№117521-09-2023 18:58:29

fuchsfan
Участник
 
Группа: Members
Зарегистрирован: 07-08-2023
Сообщений: 81
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 (повторяем код с другим путем)

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

Отсутствует

 

Board footer

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