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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№50117-09-2022 11:18:00

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

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

Dumby -  Я не уверен, но автоскрытие панели вкладок от Виталия есть в профиле profile_ucf_dobrov, но перестало работать в новых FF.

Выделить код

Код:

:root:not([inFullscreen])[v_menubar_autohide="true"] #navigator-toolbox > #nav-bar {
    margin-top: 0 !important;
    margin-inline-end: var(--v-titlebar-buttonbox-container-width, 108px) !important;
}

Отредактировано Dobrov (17-09-2022 11:21:53)

Отсутствует

 

№50217-09-2022 11:29:08

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

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

Dobrov
autohide_tabstoolbar
Оффтоп


Win7

Отсутствует

 

№50317-09-2022 12:43:32

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

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

Dobrov пишет

есть в профиле profile_ucf_dobrov

Если ты про этот код, то его подкосил баг 1767802.

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

Выделить код

Код:

/*
			.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"] ~ #tabs-newtab-button {
*/
			.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 {

Отсутствует

 

№50417-09-2022 14:14:00

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

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

Dumby - спасибо, заработало! :beer: Исправил также этот ucf_autohidetabstoolbar.js в шапке.

Отсутствует

 

№50517-09-2022 18:49:53

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

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

Dumby, подскажите, что можно изменить в скрипте Simple Session Manager, чтобы заработало в FF68 и 78..?
В 68 после замены btn.type = "menu"; на btn.setAttribute("type", "menu"); и правки @-moz-document url-prefix(chrome://browser/content/browser.xul) кнопка появляется, по щелчку ЛКМ предлагает сохранить сессию, но не сохраняет. В 78 кнопка появляется без ковыряния в коде, но тоже не работает.

Отсутствует

 

№50617-09-2022 19:46:23

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 83
UA: unknown 0.0

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

LGS
Скрипты у Dobrov-а  работают с перехватом кликов hookClicks, его нужно добавить в CustomStylesScripts.jsm, иначе ни один из этих скриптов работать не будет.
Это для 78. А в 68 новые UCF, к сожалению, не работают.

Отредактировано kazarin (17-09-2022 19:47:26)

Отсутствует

 

№50717-09-2022 20:30:24

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

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

kazarin
Здесь, вроде, родной от Dumby, но все равно не работает.

Отсутствует

 

№50817-09-2022 20:53:13

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

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

LGS пишет

В 68 после замены btn.type = "menu"; на btn.setAttribute("type", "menu"); и правки @-moz-document url-prefix(chrome://browser/content/browser.xul) кнопка появляется, по щелчку ЛКМ предлагает сохранить сессию, но не сохраняет.

Что-то я не понял, там же четыре «?.» оператора, которые надо выгребать,
а об этом ни слова. Ладно, будем считать что сделал, но не написал.


Патч на сохранение. Только это, я не буду там всё тестировать,
а если ещё что-то всплывёт, то пиши доходчивый STR, попробую посмотреть.

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

Выделить код

Код:

/*
	async save(excWin) {
		var io = Cu.getGlobalForObject(Cu).IOUtils;
*/
	io: {
		get OS() {
			delete this.OS;
			Cu.import("resource://gre/modules/osfile.jsm", this);
			return this.OS;
		},
		makeDirectory(path) {
			return (this.makeDirectory = this.OS.File.makeDir)(path);
		},
		writeJSON(path, obj) {
			var wa = this.OS.File.writeAtomic;
			return (this.writeJSON = (path, obj) => wa(path, JSON.stringify(obj)))(path, obj);
		}
	},
	async save(excWin) {
		var io = Cu.getGlobalForObject(Cu).IOUtils || this.io;

Отредактировано Dumby (17-09-2022 21:39:51)

Отсутствует

 

№50917-09-2022 21:15:27

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 83
UA: unknown 0.0

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

LGS
Оказывается, SSM не работает и в профиле Dobrov-а (тестовый профиль для [firefox] 78 от 12.04.2022). Есть кнопка, но ничего не сохраняется, а через клик выскакивает сообщение:

скрытый текст
HlnRCYh.png

(окно одно, в профиле всё as is, ничего не менялось)
Проверил отдельный скрипт из шапки. Отлично работает на 102. На 68 на старых UCF ожидаемо не завёлся. На 78 - есть кнопка, подхватывает .json от CB, но не сохраняет, не переименовывает и не удаляет сессии. Покопался немного по форуму и нашёл следующее.
То есть этот скрипт, по-видимому, ниже 91 работать и не будет, а более ранние версии существуют только в виде кастомной кнопки.


Dumby
На 78 фикс не помог, по-прежнему не сохраняет.

Отредактировано kazarin (17-09-2022 21:17:51)

Отсутствует

 

№51017-09-2022 21:42:50

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

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

kazarin пишет

фикс не помог

Точно. Это я глупость написал. Вторая попытка.

Отсутствует

 

№51117-09-2022 21:53:43

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

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

Dumby

Dumby пишет

Патч на сохранение

На 78 (esr и Вин10 x64) заработало все: сохранение, восстановление, удаление, переименование и даже иконки у менюшек.
На 68 (форке и ВинХР) заработало сохранение и восстановление. Спасибо!

68esr и Вин10 x64 кнопка не создается, наверное что-то локальное у меня.

Dumby пишет

Только это, я не буду там всё тестировать,
а если ещё что-то всплывёт, то пиши доходчивый STR, попробую посмотреть.

Конечно, сам погоняю, посмотрю что всплывет. Только мне стыдно спросить - что такое STR..?

Add: Оказывается, работало (попытка 1) до перезагрузки компа. Теперь проверяю "попытку 2".

Отредактировано LGS (17-09-2022 22:06:31)

Отсутствует

 

№51217-09-2022 22:26:40

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

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

kazarin

kazarin пишет

этот скрипт, по-видимому, ниже 91 работать и не будет

На 78 попытка 2 тоже работает, как и первая. Только не знаю как будет после перезагрузки компьютера.
На 68esr кнопка не создается, на Еноте68 работает сохранение и восстановление.

Отсутствует

 

№51317-09-2022 22:28:20

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 83
UA: unknown 0.0

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

Dumby
"Вторая попытка" работает и на 78, и на 68! Большое спасибо!))

LGS
В 68 нет иконки на функции удаления, потому что самой такой картинки в браузере нет, вы там пропишите своё что-нибудь))
Нет, есть, но почему-то не отображается.
От перезагрузки компа кнопки не зависят, только от очистки кэша скриптов.
А вот на 68 esr не проверял, счаз гляну.

Да, у меня тоже не появляется в 68. А в Еноте есть))

Отредактировано kazarin (17-09-2022 22:51:57)

Отсутствует

 

№51417-09-2022 22:50:16

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

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

kazarin

kazarin пишет

От перезагрузки компа кнопки не зависят, только от очистки кэша скриптов

Значит кэш не очистился. После правки "попытки 1" браузер (78) однозначно перезагружался с кнопки очистки кэша и все работало. После перезагрузки компа (нужно было на ВинХР енот проверить) все слетело.

Отсутствует

 

№51517-09-2022 22:58:41

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

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

LGS пишет

На 68esr кнопка не создается, на Еноте68 работает

Конечно не создаётся. Оператор «?.» это не какая-то там ошибка в работе кода,
это сразу SyntaxError, весь код встанет враскоряку.


Уж не знаю что за Енот68, но значит там поддержка этого оператора есть.

Только мне стыдно спросить - что такое STR..?

Steps To Reproduce (шаги по воспроизводству),
типа делай раз, делай два, делай три. Багзильский такой формат.


Пример. Допустим, обсуждаемый код работает.


STR: Запускаем Firefox 78. Инициируем в кнопке сохранение сессии.
В открывшемся окошке ввода имени вызываем контекстное меню (ПКМ) на строке «Сохранить:».
Жмём пункт «Выделить всё».


AR: Выделение не происходит.
ER: Выделение происходит.


Ну, это баг такой в лисе, можно и в простом alert'е увидеть.
Воспроизводится и в 106.0a1

Отсутствует

 

№51617-09-2022 23:25:57

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

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

Dumby

Dumby пишет

Steps To Reproduce (шаги по воспроизводству)

Благодарю за науку и помощь со скриптами!

Dumby пишет

Уж не знаю что за Енот68

Это MyPal, человек его на базе 68esr делает для ХР и уже, вроде, кое-что от 78 туда впихнул. Поэтому скрипт и работает.

Отсутствует

 

№51718-09-2022 00:01:16

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

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

LGS
Ну, то есть, в изначальном вопросе «В 68 после замены» «и правки» это был енот.
У меня нет никакого енота, а сохранение надо было смотреть, поэтому,
на скорую руку, чисто формально, запихал код в Firefox 68 так

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

Выделить код

Код:

....
		//if (old != trg) old?.removeAttribute("boot");
		if (old != trg) old && old.removeAttribute("boot");
....
		//if (arg.constructor.isInstance?.(arg)) {
		if (arg.constructor.isInstance && arg.constructor.isInstance(arg)) {
....
		//win.document.querySelector(this.skd)?.removeAttribute("maxwidth");
		var menu = win.document.querySelector(this.skd);
		menu && menu.removeAttribute("maxwidth");
....
			//: this.dragData?.mouse && e.preventDefault()
			: this.dragData && this.dragData.mouse && e.preventDefault()

Отсутствует

 

№51818-09-2022 00:14:26

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 83
UA: unknown 0.0

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

Dumby
Проверил, в 68 работает. Спасибо!:)

LGS
Исправил иконку так

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

Выделить код

Код:

#${pid} [value=removeSession] {
					list-style-image: url("resource://usercontext-content/cart.svg");
				} 
				
				#${pid} [value=deleteAllSessions] {
					list-style-image: url("resource://usercontext-content/cart.svg");
				}


Разнёс на две, 68, видимо, не понимает перечисления, что обычный esr, что енот.

Отредактировано kazarin (18-09-2022 00:42:03)

Отсутствует

 

№51918-09-2022 00:40:21

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

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

Dumby

Dumby пишет

Ну, то есть, в изначальном вопросе «В 68 после замены» «и правки» это был енот.

Да, извиняюсь, не совсем точно сформулировал. Думал, что ESR не так важно. А про енота вы и так не знали.

kazarin пишет

на скорую руку, чисто формально, запихал код в Firefox 68

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

Добавлено 18-09-2022 00:47:20
kazarin

kazarin пишет

Исправил иконку так

Спасибо, теперь совсем красиво.

Отредактировано LGS (18-09-2022 00:47:20)

Отсутствует

 

№52018-09-2022 02:14:40

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

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

Dumby - спасибо за адаптацию ucf_SessionManager!
Как сделать прокрутку вкладок колёсиком мыши ? (аналогично Ctrl+Page Up|Down)
твой код работает, только если его запустить из консоли. Разные способы запуска из CustomStylesScripts.jsm не пашут:

Выделить код

Код:

(async (tc) => addEventListener("wheel", e => {
	if (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey)
		return;
	e.stopPropagation(); e.preventDefault();
	tc.advanceSelectedTab(e.deltaY < 0 ? 1 : -1, true);
}, true, tc || 1))(gBrowser.tabContainer);
kazarin пишет

Скрипты у Dobrov-а  работают с перехватом кликов hookClicks, его нужно добавить в CustomStylesScripts.jsm, иначе ни один "из этих" скриптов работать не будет.

LGS спрашивал про ucf_SessionManager.js, которому не нужен ucf_hookClicks. "Из этих" зависят только attrsInspector.js, ucf_mousedrag.js, ucf_QuickToggle.js.
Но глобальный скрипт значительно упрощает код других кнопок и добавляет много функций, подсказки, клики, перехват при наведении мыши на кнопки/панели. Например, расширяет возможности кнопок Загрузки, Печать, PanelUI-menu, Замок и многих других, в том числе можно добавить горячие клавиши и расширить клики/подсказки любых дополнений, как это сделано для Single Save, VideoDownloadHelper, ReaderView.

Отсутствует

 

№52118-09-2022 22:54:40

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

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

Dobrov пишет

Разные способы запуска из CustomStylesScripts.jsm не пашут

Что там может не пахать

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

Выделить код

Код:

(async tc => {
	var args = ["wheel", e => {
		if (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey)
			return;
		e.stopPropagation(); e.preventDefault();
		tc.advanceSelectedTab(e.deltaY < 0 ? 1 : -1, true);
	}, true];
	tc.addEventListener(...args);
	var id = Symbol();
	this.unloadlisteners.push(id);
	this[id] = {destructor: () => tc.removeEventListener(...args)};
})(gBrowser.tabContainer);
Выделить код

Код:

var UcfStylesScripts = {
    .......
    scriptschrome: { // Для докум. окна браузера [ChromeOnly]
        domload: [ // По событию "DOMContentLoaded"

        ],
        load: [ // По событию "load"
            .......
            { path: "advanceSelectedTab.js", ucfobj: true },
        ],
    },

Отсутствует

 

№52219-09-2022 01:39:48

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 83
UA: unknown 0.0

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

Dobrov пишет

LGS спрашивал про ucf_SessionManager.js, которому не нужен ucf_hookClicks

Да мы уже разобрались)) Просто моей первой мыслью, раз иконка есть, а скрипт не пашет, было, что взят скрипт, который работает с перехватом.

Dobrov пишет

добавляет много функций, подсказки, клики, перехват при наведении мыши на кнопки/панели

А неужели так много там экономится, чтоб он был так уж нужен?
Мне кажется, таки hookClicks это для мастеров. Которые сами умеют писать скрипты, и им так удобнее. Мне вот как простому юзеру hookClicks потенциально не нравится тем, что если вдруг UCF перестанут работать на FF, то их уже по-другому не подключишь (hookClicks работает только с UCF, я проверял). Скрипты для UCF не всегда дружат с другими загрузчиками, но большая часть - да.
Ну и порой бывает, что сам скрипт может работать на более низкой версии FF со старым UCF, а без hookClicks он не заработает.
Кстати, а вы не можете пояснить, почему на 78 выскакивает вот такое сообщение? В профиле ничего не менял, просто запустил. На самом свежем профиле тоже выскакивает.

Отсутствует

 

№52319-09-2022 13:16:24

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

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

kazarin пишет

неужели так много там экономится, чтоб "ucf_hookClicks.js" был так уж нужен?

Да, например отдельно в кнопке меню ucf_QuickToggle.js такое очень сложно сделать, а используя hookClicks всё намного проще:
Спасибо Dumby - код обработки предельно прост: 2(trg, forward) { bright(trg, forward);}, // яркость роликом мыши на кнопке ±
1) клики трёх кнопок мыши, б) их долгое нажатие с) прокрутка колёсика мыши д) + комбинации с Ctrl, Alt, Shift, Win
2) различные действия, в зависимости, где событие мыши: на самой кнопке или в её меню опций
3) различные подсказки, обновляемые при наведении курсора мыши на кнопку или разные пункты меню и подменю
4) сообщения в строке статуса при наведении на кнопку или при изменении режимов работы браузера
5) цвет кнопки в зависимости от режима прокси и многое другое (скрипт подробно комментирован)
6) всё работает на любых панелях и кнопках, не нужно в каждую кнопку прописывать клики, подсказки и прочее...
в обычном скрипте для обработки клика левой кнопки мыши нужна не одна строка, а больше. Если добавить правую кнопку и колёсико, код значительно усложняется.


kazarin пишет

почему на 78 выскакивает вот такое сообщение? В профиле ничего не менял, просто запустил. На самом свежем профиле тоже выскакивает.

проверил, получается, нужен Firefox 84+, на нём всё ОК, на FF78 получил ошибку создания массива:
hmap = new Map([ ["downloads-button", // тексты: кнопка «Загрузки» (в firefox_profile_ucf_dobrov.html указано: рекомендуется Firefox 90+)

Отредактировано Dobrov (19-09-2022 13:47:15)

Отсутствует

 

№52419-09-2022 15:53:30

kazarin
Участник
 
Группа: Members
Зарегистрирован: 23-11-2016
Сообщений: 83
UA: unknown 0.0

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

Dobrov, спасибо, понятно. Ну в общем это облегчает работу для скриптодела))

Dobrov пишет

рекомендуется Firefox 90+

Да это понятно, интересна была работа на 78.

Отсутствует

 

№52522-09-2022 13:05:02

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

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

Подскажите, кто знает... или как думает, можно ли этот скрипт, или этот, или вот такой скрипт+стиль впихнуть в заголовок фокса..?  Ну, т.е. чтобы версия, дата и время отображались в заголовке, а не в панели меню. Или такое технически невозможно..?
Вопрос актуален для всех версий ФФ с 68 по текущую релизную.

Отсутствует

 

Board footer

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