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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№62628-02-2023 13:23:29

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

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

LGS пишет

вы, вроде как, .uc.js машинерию не особо жалуете

С чего бы мне её не жаловать? Просто у меня её нет.
И, они разные бывают. Если что-то простое, типа скрит в окно и всё, то ещё ничего.

Но если там своих API понатыкано, то машинерию разворачивать надо,
а это, сам понимаешь, радости мало.

PlacesUtils.bookmarks.getFolderIdForItem is not a function

Может просто так

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

Выделить код

Код:

/*
      let aFolderItemId = PlacesUtils.bookmarks.getFolderIdForItem(node.itemId);
      if (aFolderItemId) {
*/
      if (node.parent.type == node.RESULT_TYPE_FOLDER) {

Отсутствует

 

№62728-02-2023 14:44:08

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

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

Dumby пишет

а это, сам понимаешь, радости мало

Поэтому и уточнил сначала... вдруг, желания связываться не будет.

Dumby пишет

Может просто так

Сработало! Только из гамбургера не подхватывает. Но я закладками оттуда не пользуюсь, поэтому и так хорошо.
Спасибо.

Отсутствует

 

№62801-03-2023 05:28:07

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

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

Dumby - просьба исправить скрипт, скрывающий панель вкладок с одной вкладкой для FF-110 (на FF97 работало)
плюс используется стиль «Вкладки снизу»: от aris-t2 @import ./css/tabs/tabs_below_navigation_toolbar.css

Выделить код

Код:

// ucf_autohidetabstoolbar.js https://forum.mozilla-russia.org/viewtopic.php?pid=790733#p790733
(this.autohidetabstoolbar = {
	init(that) {
		var newtab = this.newtab = document.querySelector("#tabs-newtab-button");
		if (!newtab) return;
		newtab.addEventListener("animationstart", this);
		that.unloadlisteners.push("autohidetabstoolbar");
		var style = "data:text/css;charset=utf-8," + encodeURIComponent(`
			:root[ucfautohidetabstoolbar="true"] #TabsToolbar:not([customizing]) {
				visibility: collapse !important;
			}
			#main-window[ucfautohidetabstoolbar="true"]:not([customizing]) box > #navigator-toolbox {
				padding-bottom: 0 !important;
			}
			#tabs-newtab-button {
				opacity: 1;
				animation-name: toolbar_visible !important;
				animation-timing-function: step-start !important;
				animation-duration: .1s !important;
				animation-iteration-count: 1 !important;
				animation-delay: 0s !important;
			}
			.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"] ~ #tabs-newtab-button,
			.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"] ~ #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button {
				opacity: 0;
				animation-name: toolbar_hide !important;
			}
			@keyframes toolbar_visible {
				from { opacity: 0;}
				to {opacity: 1;}
			}
			@keyframes toolbar_hide {
				from {opacity: 1;}
				to {opacity: 0;}
			}
		`);
		windowUtils.loadSheetUsingURIString(style, windowUtils.USER_SHEET);
	},
	handleEvent(e) {
		this[e.animationName]?.();
	},
	toolbar_visible() {
		document.documentElement.setAttribute("ucfautohidetabstoolbar", "false");
	},
	toolbar_hide() {
		document.documentElement.setAttribute("ucfautohidetabstoolbar", "true");
	},
	destructor() {
		this.newtab.removeEventListener("animationstart", this);
	}
}).init(this);

Отсутствует

 

№62903-03-2023 08:12:16

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

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

Dobrov пишет

просьба исправить

Не способен.


То есть, атрибуты {first, last}-visible-tab выпилены,
однако, можно записать как-то так

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

Выделить код

Код:

/*
					.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"] ~ #tabs-newtab-button,
					.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"] ~ #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button {
						opacity: 0;
						animation-name: toolbar_hide !important;
					}
*/
					#tabs-newtab-button {
						animation-name: toolbar_hide !important;
					}
					.tabbrowser-tab:not([hidden]) ~ .tabbrowser-tab:not([hidden]) ~ #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button {
						animation-name: toolbar_visible !important;
					}


и будет срабатывать.
Но что дальше с этим делать — я без понятия.

Отсутствует

 

№63004-03-2023 13:43:29

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 110.0

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

Dumby
Помогите решить задачку.
При выделении текста на странице, на ряде сайтов, и последующем копировании этого текста (Ctrl+C), в начале текста, или в конце текста, или и там и там, также копируются пробелы.
Надо, что в буфер обмена попал текст без этих пробелов.


Я сам пытался что-то придумать. Вроде бы даже получился рабочий код:

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

Выделить код

Код:

try {
(this.ucf_SelectedTextToClipboard = {
	init(that) {
		document.addEventListener("keydown", this);
	},
	destructor() {
		this.document.removeEventListener("keydown", this);
	},
	handleEvent(e) {
		if (e.ctrlKey && e.code == "KeyC") {

			// выделенный текст из страницы .....
			var selection = document.commandDispatcher.focusedWindow.getSelection();

			// выделенный текст из текстового поля .....
			if ( selection.isCollapsed ) {
				var theBox = document.commandDispatcher.focusedElement;
				if (theBox && (theBox.type == "text" || theBox.type == "textarea" || theBox.type == "textbox" || theBox.type == "input" || theBox.type == "search")) {
					var startPos = theBox.selectionStart;
					var endPos = theBox.selectionEnd;
					selection = theBox.value.substring(startPos, endPos);
				}
			}

			if ( selection !== '' ) {
				setTimeout(()=> selection = gClipboard.read(), 100); // читаем из буфера обмена .....
				setTimeout(()=> selection = selection.toString().trim(), 100); // убираем пробелы .....
				setTimeout(()=> gClipboard.write(selection), 100); // записываем в буфер обмена .....
			}
			else { return; }
		}
	},
}).init(this);
} catch(e) {}

Но мне в этом коде не нравиться цепочка: копировать в буфер -> читать из буфера -> обрезать пробелы -> и снова копировать в буфер. А по другому сделать у меня не получается.
Помогите пожалуйста с кодом.


«The Truth Is Out There»

Отсутствует

 

№63104-03-2023 16:22:58

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

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

unter_officer
Прости великодушно, но код — эпический ппц.

Выделить код

Код:

//
	init(that) {
		document.addEventListener("keydown", this);
	},
	destructor() {
		this.document.removeEventListener("keydown", this);
	},

Что ещё за «this.document»? Просто document
И, если имелось в виду, что удалить листенер по выгрузке окна,
то это так не работает. Следует явно указать в init() имя объекта с методом destructor()
that.unloadlisteners.push("ucf_SelectedTextToClipboard");

Выделить код

Код:

//
			// выделенный текст из страницы .....
			var selection = document.commandDispatcher.focusedWindow.getSelection();

			// выделенный текст из текстового поля .....
			if ( selection.isCollapsed ) {

Какой ещё страницы? Какого ещё текстового поля?
Всё это добро находится в другом(!) процессе.
Нету больше прямого доступа к содержимому веб-страниц. И уже давно.

не нравиться цепочка: копировать в буфер -> читать из буфера -> обрезать пробелы -> и снова копировать в буфер.

Ну «копировать в буфер» уже произошло, ведь слушается Ctrl+C,
а чем не нравится «читать из буфера -> обрезать пробелы -> и снова копировать в буфер»
я не понял, разве есть другие варианты?


И, код, вроде как, под UCF, но используется объект gClipboard,
а его добавляет в окно CB, то есть, если неиметь/удалить/выключить CB,
то код просто не будет работать.

Отредактировано Dumby (04-03-2023 16:26:39)

Отсутствует

 

№63204-03-2023 20:04:58

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 111.0

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

Dumby пишет

Прости великодушно, но код — эпический ппц.

Для меня листенеры и деструкторы всегда были "темным лесом". Плюс, в данном случае, моя невнимательность.


Dumby пишет

И, код, вроде как, под UCF, но используется объект gClipboard

Вот, меня терзали смутные сомнения, что в UCF вроде как не должно быть gClipboard.
Но вспомнить, почему не должно быть, я так и не смог.



Не знаю, правильно или нет..... в общем, получился у меня вот такой код:

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

Выделить код

Код:

try {
(this.ucf_SelectedTextToClipboard = {
	init(that) {
		document.addEventListener("keydown", this);
	},
	handleEvent(e) {
		if (e.ctrlKey && e.code == "KeyC") {

			var write, read = () => {
				var cb = Services.clipboard, gc = cb.kGlobalClipboard, fl = "text/plain";
				var ch = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
				write = str => ch.copyStringToClipboard(str, gc);

				var trans = Cc["@mozilla.org/widget/transferable;1"].createInstance(Ci.nsITransferable);
				trans.init(null);

				return (read = () => {
					trans.addDataFlavor(fl);
					cb.getData(trans, gc);
					var res = {};
					trans.getTransferData(fl, res);
					res = res.value?.QueryInterface(Ci.nsISupportsString).data;
					trans.removeDataFlavor(fl);
					return res;
				})();
			}

			var selection = '';
			setTimeout(()=> selection = read(), 100); // читаем из буфера обмена .....
			setTimeout(()=> selection = selection.toString().trim(), 100); // убираем пробелы с обоих концов текста .....
			setTimeout(()=> write(selection), 100); // записываем в буфер обмена .....
		}
	},
}).init(this);
} catch(e) {}

В нем я использовал вашу функцию из другой кнопки. Вроде работает.
На большее, в данном вопросе, я пожалуй не способен.


«The Truth Is Out There»

Отсутствует

 

№63314-03-2023 17:41:21

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

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

Dumby
В кнопке ATB 2021.9.5 перестал работать переход по адресу из буфера обмена, исправьте пожалуйста!


Win7

Отсутствует

 

№63414-03-2023 18:28:29

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 111.0

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

kokoss пишет

В кнопке ATB 2021.9.5 перестал работать переход по адресу из буфера обмена, исправьте пожалуйста!

И ещё в кнопке поиск на странице не работает СКМ: Поиск на этой странице из буфера обмена.

Отсутствует

 

№63514-03-2023 20:00:37

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

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

kokoss
Попробуй, например, такую правку parent.js

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

Выделить код

Код:

/*
    readFromClipboard(win) {
        var url = "";
        try {
            var trans = Cc["@mozilla.org/widget/transferable;1"].createInstance(Ci.nsITransferable);
            var contxt = ("docShell" in win) ? win.docShell.QueryInterface(Ci.nsILoadContext) : win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIWebNavigation).QueryInterface(Ci.nsILoadContext);
            trans.init(contxt);
            trans.addDataFlavor("text/unicode");
            var clipboard = Services.clipboard;
            clipboard.getData(trans, clipboard.kGlobalClipboard);
            var data = {};
            trans.getTransferData("text/unicode", data, {});
            if (data.value) {
                data = data.value.QueryInterface(Ci.nsISupportsString);
                url = data.data;
            }
        } catch (ex) {}
        return url;
    },
*/
    readFromClipboard() {
        var {getData, kGlobalClipboard: kGK} = Services.clipboard;
        var flavor = `text/${parseInt(Services.appinfo.platformVersion) >= 111 ? "plain" : "unicode"}`;
        var transferable = Cc["@mozilla.org/widget/transferable;1"].createInstance(Ci.nsITransferable);
        transferable.init(null);
        transferable.addDataFlavor(flavor);

        return (this.readFromClipboard = () => {
            try {
                getData(transferable, kGK);
                var out = {};
                transferable.getTransferData(flavor, out);
                var url = out.value.QueryInterface(Ci.nsISupportsString).data;
            }
            finally {
                transferable.setTransferData(flavor, null);
                return url || "";
            }
        })();
    },

Отсутствует

 

№63614-03-2023 21:16:49

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

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

Dumby пишет

Попробуй, например, такую правку parent.js
скрытый текст

Благодарю!


voqabuhe пишет

И ещё в кнопке поиск на странице не работает СКМ: Поиск на этой странице из буфера обмена.

В этой кнопке работает только ЛКМ.

Отредактировано kokoss (14-03-2023 21:17:13)


Win7

Отсутствует

 

№63715-03-2023 02:28:27

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

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

kokoss пишет

В этой кнопке работает только ЛКМ.

Эта кнопка? https://imgsh.net/a/LYEkjcn.png
У меня все пункты работают.

Отсутствует

 

№63815-03-2023 05:39:07

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 111.0

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

Dumby пишет

Попробуй, например, такую правку parent.js

Спасибо.

kokoss пишет

В этой кнопке работает только ЛКМ.

Но теперь то всё работает.

xrun1 пишет

У меня все пункты работают.

В смысле после правки от Dumby работают, или без неё работают?

Отсутствует

 

№63915-03-2023 09:01:06

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

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

voqabuhe пишет

Но теперь то всё работает.

Да, после правки вроде всё заработало.


Win7

Отсутствует

 

№64015-03-2023 14:01:54

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

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

voqabuhe пишет

В смысле после правки от Dumby работают, или без неё работают?

Наверное, после. Я не успел проверить до, сразу сделал правку. :lol:

Отсутствует

 

№64115-03-2023 16:52:12

darex
Участник
 
Группа: Members
Зарегистрирован: 05-07-2020
Сообщений: 30
UA: Firefox 113.0

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

Dumby
В 113 Nightly перестала работать кнопка LongPress.jsm https://forum.mozilla-russia.org/viewto … 64#p797864, если возможно, исправьте пожалуйста!

Отредактировано darex (15-03-2023 16:53:32)

Отсутствует

 

№64215-03-2023 17:44:51

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

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

darex пишет

LongPress.jsm

lpa и в 111`м не работает, но можно попробовать так

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

Выделить код

Код:

'
				//.embedderElement.ownerGlobal.gBrowser.loadOneTab(link, {
				.embedderElement.ownerGlobal.openLinkIn(link, "tab", {


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

Отсутствует

 

№64315-03-2023 17:56:33

darex
Участник
 
Группа: Members
Зарегистрирован: 05-07-2020
Сообщений: 30
UA: Firefox 113.0

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

Farby пишет

но можно попробовать так

Благодарю, так работает.


У кнопки toggle-proxy сломались значки, это возможно исправить?

Отредактировано darex (15-03-2023 18:03:37)

Отсутствует

 

№64415-03-2023 22:16:42

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

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

darex пишет

У кнопки toggle-proxy сломались значки, это возможно исправить?

Вариант

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

Выделить код

Код:

/*
        img = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 240'><g><rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(146, 69, 101);'/><path style='opacity:0.25;fill:black;' d='M 16.8,17.6 23.1,23.9 8,26 6.4,32.2 11.4,37.2 3.7,44.8 6.9,48 45,48 C 46.7,48 48,46.7 48,45 V 20 L 31.4,3.4'/><path style='fill:white;' d='M 17.4,3 C 16.7,3 16.2,3.82 16.2,4.91 V 15.9 C 16.2,17 16.7,17.8 17.4,17.8 H 30.6 C 31.3,17.8 31.8,17 31.8,15.9 V 4.91 C 31.8,3.82 31.3,3 30.6,3 H 17.4 M 22.4,20.5 V 23.7 H 6.41 V 32.2 H 9.35 V 28.2 H 22.4 V 32.4 H 25.5 V 28.2 H 38.5 V 32.4 H 41.5 V 23.7 H 25.5 V 20.5 H 22.4 M 4.23,35.1 C 3.55,35.1 3,35.9 3,37.1 V 43 C 3,44.1 3.55,45 4.23,45 H 12.1 C 12.8,45 13.3,44.1 13.3,43 V 37.1 C 13.3,35.9 12.8,35.1 12.1,35.1 H 4.23 M 19.9,35.1 C 19.2,35.1 18.7,35.9 18.7,37.1 V 43 C 18.7,44.1 19.2,45 19.9,45 H 27.8 C 28.5,45 29,44.1 29,43 V 37.1 C 29,35.9 28.5,35.1 27.8,35.1 H 19.9 M 35.9,35.1 C 35.2,35.1 34.7,35.9 34.7,37.1 V 43 C 34.7,44.1 35.2,45 35.9,45 H 43.7 C 44.4,45 45,44.1 45,43 V 37.1 C 45,35.9 44.4,35.1 43.7,35.1 H 35.9' /><rect x='0' y='48' width='48' height='48' rx='3' ry='3' style='fill:rgb(209, 8, 3);'/><path style='opacity:0.25;fill:black;' d='M 16.8,65.6 23.1,71.9 8,74 6.4,80.2 11.4,85.2 3.7,92.8 6.9,96 45,96 C 46.7,96 48,94.7 48,93 V 68 L 31.4,51.4'/><path style='fill:white;' d='M 17.4,51 C 16.7,51 16.2,51.8 16.2,52.9 V 63.9 C 16.2,65 16.7,65.8 17.4,65.8 H 30.6 C 31.3,65.8 31.8,65 31.8,63.9 V 52.9 C 31.8,51.8 31.3,51 30.6,51 H 17.4 M 22.4,68.5 V 71.7 H 6.41 V 80.2 H 9.35 V 76.2 H 22.4 V 80.4 H 25.5 V 76.2 H 38.5 V 80.4 H 41.5 V 71.7 H 25.5 V 68.5 H 22.4 M 4.23,83.1 C 3.55,83.1 3,83.9 3,85.1 V 91 C 3,92.1 3.55,93 4.23,93 H 12.1 C 12.8,93 13.3,92.1 13.3,91 V 85.1 C 13.3,83.9 12.8,83.1 12.1,83.1 H 4.23 M 19.9,83.1 C 19.2,83.1 18.8,83.9 18.8,85.1 V 91 C 18.8,92.1 19.2,93 19.9,93 H 27.8 C 28.5,93 29,92.1 29,91 V 85.1 C 29,83.9 28.5,83.1 27.8,83.1 H 19.9 M 35.9,83.1 C 35.2,83.1 34.7,83.9 34.7,85.1 V 91 C 34.7,92.1 35.2,93 35.9,93 H 43.7 C 44.4,93 45,92.1 45,91 V 85.1 C 45,83.9 44.4,83.1 43.7,83.1 H 35.9' /><rect x='0' y='96' width='48' height='48' rx='3' ry='3' style='fill:rgb(243, 135, 37);'/><path style='opacity:0.25;fill:black;' d='M 16.8,114 23.1,120 8,122 6.4,128 11.4,133 3.7,141 6.9,144 H 45 C 46.7,144 48,142.7 48,141 V 116 L 31.4,99.4'/><path style='fill:white;' d='M 17.4,99 C 16.7,99 16.2,99.8 16.2,101 V 112 C 16.2,113 16.7,114 17.4,114 H 30.6 C 31.3,114 31.8,113 31.8,112 V 101 C 31.8,99.8 31.3,99 30.6,99 H 17.4 M 22.4,117 V 120 H 6.41 V 128 H 9.35 V 124 H 22.4 V 128 H 25.5 V 124 H 38.5 V 128 H 41.5 V 120 H 25.5 V 117 H 22.4 M 4.23,131 C 3.55,131 3,132 3,133 V 139 C 3,140 3.55,141 4.23,141 H 12.1 C 12.8,141 13.3,140 13.3,139 V 133 C 13.3,132 12.8,131 12.1,131 H 4.23 M 19.9,131 C 19.2,131 18.8,132 18.8,133 V 139 C 18.8,140 19.2,141 19.9,141 H 27.8 C 28.5,141 29,140 29,139 V 133 C 29,132 28.5,131 27.8,131 H 19.9 M 35.9,131 C 35.2,131 34.7,132 34.7,133 V 139 C 34.7,140 35.2,141 35.9,141 H 43.7 C 44.4,141 45,140 45,139 V 133 C 45,132 44.4,131 43.7,131 H 35.9' /><rect x='0' y='144' width='48' height='48' rx='3' ry='3' style='fill:rgb(21, 161, 99);'/><path style='opacity:0.25;fill:black;' d='M 16.8,162 23.1,168 8,170 6.4,176 11.4,181 3.7,189 6.9,192 H 45 C 46.7,192 48,190.7 48,189 V 164 L 31.4,147'/><path style='fill:white;' d='M 17.4,147 C 16.7,147 16.2,148 16.2,149 V 160 C 16.2,161 16.7,162 17.4,162 H 30.6 C 31.3,162 31.8,161 31.8,160 V 149 C 31.8,148 31.3,147 30.6,147 H 17.4 M 22.4,165 V 168 H 6.41 V 176 H 9.35 V 172 H 22.4 V 176 H 25.5 V 172 H 38.5 V 176 H 41.5 V 168 H 25.5 V 165 H 22.4 M 4.23,179 C 3.55,179 3,180 3,181 V 187 C 3,188 3.55,189 4.23,189 H 12.1 C 12.8,189 13.3,188 13.3,187 V 181 C 13.3,180 12.8,179 12.1,179 H 4.23 M 19.9,179 C 19.2,179 18.8,180 18.8,181 V 187 C 18.8,188 19.2,189 19.9,189 H 27.8 C 28.5,189 29,188 29,187 V 181 C 29,180 28.5,179 27.8,179 H 19.9 M 35.9,179 C 35.2,179 34.7,180 34.7,181 V 187 C 34.7,188 35.2,189 35.9,189 H 43.7 C 44.4,189 45,188 45,187 V 181 C 45,180 44.4,179 43.7,179 H 35.9' /><rect x='0' y='192' width='48' height='48' rx='3' ry='3' style='fill:rgb(0, 120, 173);'/><path style='opacity:0.25;fill:black;' d='M 16.8,210 23.1,216 8,218 6.4,224 11.4,229 3.7,237 6.9,240 H 45 C 46.7,240 48,238.7 48,237 L 48,212 31.4,195'/><path style='fill:white;' d='M 17.4,195 C 16.7,195 16.2,196 16.2,197 V 208 C 16.2,209 16.7,210 17.4,210 H 30.6 C 31.3,210 31.8,209 31.8,208 V 197 C 31.8,196 31.3,195 30.6,195 H 17.4 M 22.4,213 V 216 H 6.41 V 224 H 9.4 V 220 H 22.4 V 224 H 25.5 V 220 H 38.5 V 224 H 41.5 V 216 H 25.5 V 213 H 22.4 M 4.23,227 C 3.55,227 3,228 3,229 V 235 C 3,236 3.55,237 4.23,237 H 12.1 C 12.8,237 13.3,236 13.3,235 V 229 C 13.3,228 12.8,227 12.1,227 H 4.23 M 19.9,227 C 19.2,227 18.7,228 18.7,229 V 235 C 18.7,236 19.2,237 19.9,237 H 27.8 C 28.5,237 29,236 29,235 V 229 C 29,228 28.5,227 27.8,227 H 19.9 M 35.9,227 C 35.2,227 34.7,228 34.7,229 V 235 C 34.7,236 35.2,237 35.9,237 H 43.7 C 44.4,237 45,236 45,235 V 229 C 45,228 44.4,227 43.7,227 H 35.9' /></g></svg>",
        imgmenu = "data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' height='80' width='16' viewBox='0 0 48 240'><g><circle cy='24' cx='24' style='fill:rgb(146, 69, 101);' r='20'/><path style='opacity:0.25;fill:black;' d='M 33,41.8 22.3,31.1 36.7,17.9 44,25.2 C 43.5,30.6 41,37.7 33,41.8 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,19 H 13 L 24,30 35,19' /><circle cy='72' cx='24' style='fill:rgb(209, 8, 3);' r='20'/><path style='opacity:0.25;fill:black;' d='M 33,89.8 22.3,79.1 36.7,65.9 44,73.2 C 43.5,78.6 41,85.7 33,89.8 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,67 H 13 L 24,78 35,67' /><circle cy='120' cx='24' style='fill:rgb(243, 135, 37);' r='20'/><path style='opacity:0.25;fill:black;' d='M 32.8,138 22,127 36.7,114 44,121 C 43.5,127 40.9,134 32.8,138 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 34.9,115 H 13.1 L 24,126 34.9,115' /><circle cy='168' cx='24' style='fill:rgb(21, 161, 99);' r='20'/><path style='opacity:0.25;fill:black;' d='M 32.9,186 22,175 36.7,162 44,169 C 43.5,175 40.9,182 32.9,186 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,163 H 13 L 24,174 35,163' /><circle cy='216' cx='24' style='fill:rgb(0, 120, 173);' r='20'/><path style='opacity:0.25;fill:black;' d='M 32.8,234 22,223 36.7,210 44,217 C 43.5,223 40.9,230 32.8,234 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,211 H 13 L 24,222 35,211' /></g></svg>";
*/
        img = "<rect x='0' y='0' width='48' height='48' rx='3' ry='3' style='fill:rgb(RGB);'/><path style='opacity:0.25;fill:black;' d='M 16.8,17.6 23.1,23.9 8,26 6.4,32.2 11.4,37.2 3.7,44.8 6.9,48 45,48 C 46.7,48 48,46.7 48,45 V 20 L 31.4,3.4'/><path style='fill:white;' d='M 17.4,3 C 16.7,3 16.2,3.82 16.2,4.91 V 15.9 C 16.2,17 16.7,17.8 17.4,17.8 H 30.6 C 31.3,17.8 31.8,17 31.8,15.9 V 4.91 C 31.8,3.82 31.3,3 30.6,3 H 17.4 M 22.4,20.5 V 23.7 H 6.41 V 32.2 H 9.35 V 28.2 H 22.4 V 32.4 H 25.5 V 28.2 H 38.5 V 32.4 H 41.5 V 23.7 H 25.5 V 20.5 H 22.4 M 4.23,35.1 C 3.55,35.1 3,35.9 3,37.1 V 43 C 3,44.1 3.55,45 4.23,45 H 12.1 C 12.8,45 13.3,44.1 13.3,43 V 37.1 C 13.3,35.9 12.8,35.1 12.1,35.1 H 4.23 M 19.9,35.1 C 19.2,35.1 18.7,35.9 18.7,37.1 V 43 C 18.7,44.1 19.2,45 19.9,45 H 27.8 C 28.5,45 29,44.1 29,43 V 37.1 C 29,35.9 28.5,35.1 27.8,35.1 H 19.9 M 35.9,35.1 C 35.2,35.1 34.7,35.9 34.7,37.1 V 43 C 34.7,44.1 35.2,45 35.9,45 H 43.7 C 44.4,45 45,44.1 45,43 V 37.1 C 45,35.9 44.4,35.1 43.7,35.1 H 35.9'/>",
        imgmenu = "<circle cy='24' cx='24' style='fill:rgb(RGB);' r='20'/><path style='opacity:0.25;fill:black;' d='M 33,41.8 22.3,31.1 36.7,17.9 44,25.2 C 43.5,30.6 41,37.7 33,41.8 Z'/><path style='fill:white;stroke:white;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;' d='M 35,19 H 13 L 24,30 35,19'/>";
Выделить код

Код:

/*
            get btnstyle() {
                delete this.btnstyle;
                return this.btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(`
                    #${id}-button {
                        list-style-image: url("${img}") !important;
                        -moz-image-region: rect(0px, 16px, 16px, 0px) !important;
                    }
                    #${id}-button-menu {
                        list-style-image: url("${imgmenu}") !important;
                        -moz-image-region: rect(0px, 16px, 16px, 0px) !important;
                    }
                    #${id}[activated="1"] :-moz-any(#${id}-button,#${id}-button-menu) {
                        -moz-image-region: rect(16px, 16px, 32px, 0px) !important;
                    }
                    #${id}[activated="2"] :-moz-any(#${id}-button,#${id}-button-menu) {
                        -moz-image-region: rect(32px, 16px, 48px, 0px) !important;
                    }
                    #${id}[activated="4"] :-moz-any(#${id}-button,#${id}-button-menu) {
                        -moz-image-region: rect(48px, 16px, 64px, 0px) !important;
                    }
                    #${id}[activated="5"] :-moz-any(#${id}-button,#${id}-button-menu) {
                        -moz-image-region: rect(64px, 16px, 80px, 0px) !important;
                    }
*/
            get btnstyle() {
                var rgb = ["146,69,101", "209,8,3", "243,135,37", null, "21,161,99", "0,120,173"];

                var beg = 'list-style-image: url("data:image/svg+xml;charset=utf-8,'
                    + "<svg xmlns='http://www.w3.org/2000/svg' height='16' width='16' viewBox='0 0 48 48'><g>";
                    
                var lsi = (ind, isMenu) => `${beg}${(isMenu ? imgmenu : img).replace("RGB", rgb[ind])}</g></svg>") !important;`;

                delete this.btnstyle;
                return this.btnstyle = "data:text/css;charset=utf-8," + encodeURIComponent(`
                    #${id}-button {
                        ${lsi(0)}
                    }
                    #${id}-button-menu {
                        ${lsi(0, true)}
                    }\n${
                        (ws => {
                            var n, arr = [];
                            var r = m => `${ws}#${id}[activated="${n}"] > #${id}-button${m} {\n${ws}    ${lsi(n, m)}\n${ws}}`;
                            for(n of "1245") arr.push(r(""), r("-menu"));
                            return arr.join("\n");
                        })(" ".repeat(20))
                    }

Отсутствует

 

№64516-03-2023 06:23:26

darex
Участник
 
Группа: Members
Зарегистрирован: 05-07-2020
Сообщений: 30
UA: Firefox 113.0

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

Dumby пишет

Вариант

Большое спасибо, всё исправилось.

Отсутствует

 

№64616-03-2023 16:36:17

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

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

egorsemenov06 пишет

Посмотрите пожалуйста кнопку

Не буду.


Про readFromClipboard() обсуждалось отсюда,
но у тебя в коде торчат "text/unicode".
Хоть бы unicode на plain поменял.

Отсутствует

 

№64717-03-2023 12:48:29

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

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

Здравствуйте, можно ли сделать что-то подобное. Как на сайте translit .cc
В реальном времени вводишь латиницей, а он переводит сразу же в кириллицу в формах ввода. Можно с окном, типа блокнота. Если сложно, то ладно.

Добавлено 17-03-2023 13:05:32
Есть у кого user_chrome_files последней версий?

Отредактировано b0ttle (17-03-2023 13:05:32)

Отсутствует

 

№64817-03-2023 14:53:01

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 111.0

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

b0ttle пишет

Есть у кого user_chrome_files последней версий?

https://disk.yandex.ru/d/B5q-UMpu8x2H6Q


«The Truth Is Out There»

Отсутствует

 

№64918-03-2023 13:56:28

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

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

Кто знает, как изменить размер vertical-toolbar, какой-то он широкий. Или в каком файле эти настройки хранятся. Последняя user-chrome-files которая в шапке. Кстати, мне кажется, или там есть проблемы с auto_hide_sidebar и special_widgets. Ну при них, кнопка не работает открытия закладки. При этом не всегда реагирует на открытие, не октрывает автоматом. В общем, убрал их. Только мешаются. Наверно в новых версиях их нужно править.

Отсутствует

 

№65018-03-2023 14:40:24

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

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

b0ttle
Примерно так, стилем. Родной файл vertical_top_bottom_bar.css лучше не трогать.

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

Выделить код

Код:

/* Сжать доп.панели https://forum.mozilla-russia.org/viewtopic.php?pid=775867#p775867 */
#ucf-additional-top-bar,
#ucf-additional-bottom-bar {
    --toolbarbutton-outer-padding: 2px !important; /* было 0px */
    --toolbarbutton-inner-padding: 2px !important;
    min-height: 18px !important;
}
:-moz-any(#ucf-additional-top-bar,#ucf-additional-bottom-bar) .toolbarbutton-badge {
    margin-inline-end: calc(-1 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))) !important;
}
#ucf-additional-bottom-closebutton {
    padding: 0 !important;
}
#ucf-additional-vertical-bar {
    --toolbarbutton-outer-padding: 2px !important; /* было 0px */
    --toolbarbutton-inner-padding: 3px !important;
    min-width: 18px !important;
}
#ucf-additional-vertical-bar .toolbarbutton-badge {
    margin-inline-end: calc(-1 * (var(--toolbarbutton-outer-padding) + var(--toolbarbutton-inner-padding))) !important;
}


P.S. По ссылке исходное сообщение. Обратите внимание, название панелей изменились.
P.P.S. special_widgets работают, auto_hide_sidebar не пользуюсь, не знаю. И вообще никаких проблем с открытием закладки.

Отредактировано xrun1 (18-03-2023 14:47:06)

Отсутствует

 

Board footer

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