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

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

№1682602-06-2023 13:27:08

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 322
UA: Firefox 114.0

Re: Custom Buttons

Andrey_Krropotkin
Большое спасибо!

Отсутствует

 

№1682705-06-2023 04:36:50

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

Re: Custom Buttons

Dumby - вопрос по JS-синтаксису:
есть ли способ объединить две последние записи в одну? (_531906d3-e22f-4a6c-a102-8057b88a1a63_)

Выделить код

Код:

var tooltips = {
	get "stop-button"() {
		return GetDynamicShortcutTooltipText("stop-button") +"\n"+ hmap.get("wheel-stop");
},
"_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action": hmap.get("#").split('|')[11], // SingleSave
"_531906d3-e22f-4a6c-a102-8057b88a1a63_-BAP": hmap.get("#").split('|')[11]
}

Ещё можешь пояснить что-нибудь по вопросу: как определить, что меню открыто?

Отсутствует

 

№1682805-06-2023 16:05:15

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

Re: Custom Buttons

Dobrov пишет

вопрос по JS-синтаксису:
есть ли способ объединить две последние записи в одну?

Разве что уже после определения объекта tooltips написать
tooltips["…-BAP"] = tooltips["…-browser-action"] = hmap.get("#").split('|')[11];

Ещё можешь пояснить что-нибудь по вопросу: как определить, что меню открыто?

Нет, не могу.
id менюшки «ToggleButton-Popup» я не смог увидеть, но есть "ToggleButton-secondaryPopup".


И, геттер XULPopupElement.prototype.state существует, и, у меня, работает.
Добавил в get "ToggleButton"() {…}


Services.console.logStringMessage(
    window.event.target.closest("#ToggleButton").secondaryPopup.state
);
и мне показывает "open" или "closed".

Отсутствует

 

№1682906-06-2023 05:32:27

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

Re: Custom Buttons

Dumby - ясно, будем искать…
я уже встречал этот глюк в MacOS, что .state всегда closed…

Отсутствует

 

№1683008-06-2023 04:07:14

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

Re: Custom Buttons

Dumby
сделал secondaryPopup.state, это был не глюк MacOS.


Не получается после сохранения сайта изменить стиль имени текущей вкладки.
Первая стока работает, а как изменить стиль шрифта вкладки?
Желательно одновременно overline и underline ? Или отдельно на italic ?


gBrowser.selectedTab.style.filter = "blur(0.5px) drop-shadow(0px 1px 0px #808)";
gBrowser.selectedTab.style.textDecoration = "overline";

Отредактировано Dobrov (08-06-2023 04:13:10)

Отсутствует

 

№1683108-06-2023 20:23:05

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

Re: Custom Buttons

Dobrov пишет

Не получается после сохранения сайта изменить стиль имени текущей вкладки.
gBrowser.selectedTab.style.…

Так может лучше использовать сам <label>, а не <tab>.
gBrowser.selectedTab.textLabel.style.textDecoration = "underline overline";

Отсутствует

 

№1683208-06-2023 23:39:02

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 322
UA: Firefox 113.0

Re: Custom Buttons

Добрый день.

Перестала работать кнопка переводчика (вызывает гугловский виджет на текущей странице).
Не посмотрите ли, что с ним сейчас не так?

Выделить код

Код:

var vert = ` javascript:{var d, b, o, v, p; b = (d = document).body; o = d.createElement('script'); o.setAttribute('src', 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'); o.setAttribute('type', 'text/javascript'); b.appendChild(o); v = b.insertBefore(d.createElement('div'), b.firstChild); v.id = 'google_translate_element'; v.style.display = 'none'; p = d.createElement('script'); p.text = 'function googleTranslateElementInit(){new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");}'; p.setAttribute('type', 'text/javascript'); b.appendChild(p)};void(0);` ;
gBrowser. loadURI(vert, { triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() });

Отсутствует

 

№1683309-06-2023 11:28:59

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 114.0

Re: Custom Buttons

leex посмотри этот пост

Отсутствует

 

№1683410-06-2023 05:00:09

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

Re: Custom Buttons

Dumby пишет

Так может лучше использовать сам <label>, а не <tab>.

А как найти «textLabel»? Выбрал в Attributes Inspector метку вкладки, но…
DomInspector – объекты JavaScript такого элемента не показывет !
2023-06-10-09-55-03.png

Отсутствует

 

№1683510-06-2023 18:18:05

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

Re: Custom Buttons

Dobrov пишет

DomInspector – объекты JavaScript такого элемента не показывет

Значит это for-in не перечисляемое свойство, я же говорил.
Вот в консоли его видно, в прототипе.


Хотел уже querySelector() написать, но подумал, дай-ка загляну в кустомэлементщину
chrome://browser/content/tabbrowser-tab.js


вдруг там что-то подобное уже имеется, и точно, такой геттер есть

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

Выделить код

Код:

....
    get textLabel() {
      return this.querySelector(".tab-label");
    }

Отсутствует

 

№1683610-06-2023 20:16:05

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 322
UA: Firefox 114.0

Re: Custom Buttons

Andrey_Krropotkin пишет

leex посмотри этот пост

Благодарю, поправил код, теперь все работает :beer:

Выделить код

Код:

var vert = ` javascript:{var d, b, o, v, p; b = (d = document).body; o = d.createElement('script'); o.setAttribute('src', 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'); o.setAttribute('type', 'text/javascript'); b.appendChild(o); v = b.insertBefore(d.createElement('div'), b.firstChild); v.id = 'google_translate_element'; v.style.display = 'none'; p = d.createElement('script'); p.text = 'function googleTranslateElementInit(){new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");}'; p.setAttribute('type', 'text/javascript'); b.appendChild(p)};void(0);` ;
gBrowser.loadURI(Services.io.newURI(vert), { triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() });


А еще вопрос по этой теме. Есть ли у кого код для кнопки, чтоб открывался гугл транслит, а из буфера обмена подгружался в переводчик текст?

Отсутствует

 

№1683711-06-2023 11:30:54

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1647
UA: Firefox 114.0

Re: Custom Buttons

Кстати, этот код

Выделить код

Код:

javascript:{var d, b, o, v, p; b = (d = document).body; o = d.createElement('script'); o.setAttribute('src', 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'); o.setAttribute('type', 'text/javascript'); b.appendChild(o); v = b.insertBefore(d.createElement('div'), b.firstChild); v.id = 'google_translate_element'; v.style.display = 'none'; p = d.createElement('script'); p.text = 'function googleTranslateElementInit(){new google.translate.TranslateElement({pageLanguage:""},"google_translate_element");}'; p.setAttribute('type', 'text/javascript'); b.appendChild(p)};void(0);

как букмарклет прекрасно работает, так что можно и без CB использовать.

Отсутствует

 

№1683813-06-2023 08:33:28

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

Re: Custom Buttons

Вопрос не по теме, но по месту.
А меня с какой-то версии [firefox] перестали работать в браузере букмарклеты. Есть какая-то настройка в about:config разрешающая/включающая их?

Отсутствует

 

№1683913-06-2023 18:54:04

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

Re: Custom Buttons

leex пишет

Andrey_Krropotkin пишет leex посмотри этот пост Благодарю, поправил код...

Есть способ без `?

Отредактировано b0ttle (13-06-2023 18:56:29)

Отсутствует

 

№1684021-06-2023 20:12:58

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019
UA: Chrome 114.0

Re: Custom Buttons

Всем привет! Это Ян, автор первых версий расширения.
Не заходил в тему 15 лет, а она за это время разрослась аж в целый раздел форума. :)
Большое спасибо всем причастным, кто все эти годы выпускал новые версии, создавал кнопки, прежде всего Anton'у, подхватившего у меня разработку.
Получилась славная история. :heart:

Отсутствует

 

№1684121-06-2023 20:30:11

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

Re: Custom Buttons

Yan пишет

прежде всего Anton'у, подхватившего у меня разработку.
Получилась славная история. :heart:

Он то подхватил, а продолжил Dumby за что ему БОЛЬШОЕ СПАСИБО!!!


Win7

Отсутствует

 

№1684221-06-2023 21:19:37

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 557
UA: Yandex 23

Re: Custom Buttons

про bunda1 https://forum.mozilla-russia.org/profile.php?id=48303 не забывайте. дофигища сделал в своё время. спасибо и ему. и вообще всем причастным :beer:

Отредактировано sonyas75 (21-06-2023 21:20:18)

Отсутствует

 

№1684321-06-2023 21:37:24

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

Re: Custom Buttons

Yan ну наконец-то Вы с ново с нами, надеюсь Вы сможете поддержать высокий уровень функционала, как  это делает Dumby!!!


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

На форуме

 

№1684423-06-2023 20:10:20

brake
Участник
 
Группа: Members
Зарегистрирован: 05-05-2022
Сообщений: 14
UA: Firefox 115.0

Re: Custom Buttons

Dumby, I need your help. I want to add a button to make firefox always on top.

Отсутствует

 

№1684524-06-2023 08:57:30

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

Re: Custom Buttons

brake пишет

Dumby, I need your help. I want to add a button to make firefox always on top.

We have nsIAppWindow.zLevel setter (raisedZ), but bit glitch, and inside-app.
And absolute "alwaysontop" chrome-feature flag, but not toggleble dynamically, see bug 1788946.

Отсутствует

 

№1684624-06-2023 15:06:47

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

Re: Custom Buttons

egorsemenov06
Хорошая прога, только google переводит не так как в simple-translate. Не знаю с чем связанно, там в скрипте что-то менять нужно. Тут была кнопка translate, там про это обсуждали. Кстати, у вас все переводит? У меня после обновления все сервисы отвалились, кроме google, babylon.

Отредактировано b0ttle (25-06-2023 19:03:23)

Отсутствует

 

№1684724-06-2023 23:50:25

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

Re: Custom Buttons

egorsemenov06 пишет

возможноли вот эту кнопку адаптировать под UCF

Типа из пустого в порожнее?
Как-то так, наверно. Проверить особо неначем.

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

Выделить код

Код:

(async () => CustomizableUI.createWidget({

	path: ["_QTranslate", "QTranslate.exe"],

	id: "805678",
	label: "label",
	tooltiptext: "tooltiptext",

	localized: false,
	onCreated(btn) {
		btn._handleClick = () => this.click();
		btn.image = "chrome://browser/content/robot.ico";
	},
	click() {
		var file = Services.dirsvc.get("ProfD", Ci.nsIFile);
		this.path.forEach(file.append);

		// See https://gist.github.com/Noitidart/0de3be2442a0295eb386
		// vk codes: https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

		// Double Ctrl [Ctrl-Down, Ctrl-Up, Ctrl-Down, Ctrl-Up]
		var data = [[0x11, false], [0x11, true], [0x11, false], [0x11, true]];

		var {ctypes} = ChromeUtils.importESModule("resource://gre/modules/ctypes.sys.mjs");
		var KEYBDINPUT = ctypes.StructType("tagKEYBDINPUT", [
			{wVk: ctypes.unsigned_short},
			{wScan: ctypes.unsigned_short},
			{dwFlags: ctypes.unsigned_long},
			{time: ctypes.unsigned_long},
			{dwExtraInfo: ctypes.voidptr_t.size == 8 ? ctypes.uint64_t : ctypes.unsigned_long},
			{padding0: ctypes.uint8_t.array(8)}
		]);
		var INPUT = ctypes.StructType("tagINPUT", [{type: ctypes.unsigned_long}, {ki: KEYBDINPUT}]);
		var pInputs = INPUT.array()(data.map(([vkCode, keyup]) => 
			INPUT(1, KEYBDINPUT(vkCode, 0, keyup ? 2 : 0, 0, 0, ctypes.uint8_t.array(8)()))
		));
		var declareArgs = ["SendInput", ctypes.winapi_abi, ctypes.unsigned_int, ctypes.unsigned_int, INPUT.ptr, ctypes.int];
		var sendArgs = [pInputs.length, pInputs, INPUT.size];
		var send = () => {
			var user32 = ctypes.open("user32");
			try {user32.declare(...declareArgs)(...sendArgs);}
			finally {user32?.close();}
		}
		(this.click = () => {
			var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
			process.init(file);
			process.runwAsync(null, 0);
			setTimeout(send, 100);
		})();
	}
}))();

Отсутствует

 

№1684825-06-2023 19:58:59

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

Re: Custom Buttons

egorsemenov06
А как работает код? Нужно сперва запустить саму программу, потом дважды Ctrl по выделенному тексту?
Если так, то легче через хоткей. Ctrl+Q запуск программы, тоже самое действие по выделенному тексту переводит, и окно намного круче. Ну и понятное дело, можно сделать значок программы зеленым и также переводить через выделение.

В файле бардак, но работает.

ucf_hkeys.js

Выделить код

Код:

/* https://forum.mozilla-russia.org/viewtopic.php?pid=786917#p786917 ||000|001Alt|101Ctrl+Alt|100Ctrl|110Ctrl+Shift
   <Vit.V. https://forum.mozilla-russia.org/viewtopic.php?pid=786906#p786906 786926#p786926
   https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values 
   https://forum.mozilla-russia.org/viewtopic.php?pid=787019#p78701>
   https://support.mozilla.org/ru/kb/sochetaniya-klavish#w_okna-i-vkladki || https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly
============================================================ */
(this.keyboardshortcuts={
get skip(){return docShell.isCommandEnabled("cmd_insertText");},
get ch(){delete this.ch;return this.ch=Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);},
init(that){var keydown={

"Backquote":{"false_false_false":(e)=>{this.skip||PlacesCommandHook.showPlacesOrganizer("BookmarksMenu");}},
"Digit1":{"false_false_false":(e)=>{this.skip||window.document.getElementById("unified-extensions-button").click();}},
"Digit2":{"false_false_false":(e)=>{this.skip||BrowserOpenAddonsMgr();}},
"Digit3":{"false_false_false":(e)=>{this.skip||openPreferences();}},
"Digit4":{"false_false_false":(e)=>{this.skip||duplicateTabIn(gBrowser.selectedTab,'tab');}},
"Digit5":{"false_false_false":(e)=>{if(this.skip)return;var s=prompt('Google_ site:.. ..','');if(s.length>0)gBrowser.addTrustedTab('https://www.google.com/search?q=site:'+encodeURIComponent(gBrowser.currentURI.host)+' '+encodeURIComponent(s));}},
"Digit6":{"false_false_false":(e)=>{if(this.skip)return;var p=Services.dirsvc.get('GreD',Ci.nsIFile);p.initWithPath(p.path+"\\..\\..\\..\\_Photo\\ShareX\\ShareX.exe");p.launch();}},
"Digit7":{"false_false_false":(e)=>{if(this.skip)return;gBrowser.fixupAndLoadURIString("javascript:(function(){var EnRuT=[['щ','shh'],['Щ','Shh'],['Щ','SHH'],['х','hh'],['Х','Hh'],['Х','HH'],['ж','zh'],['Ж','Zh'],['Ж','ZH'],['ц','cz'],['Ц','Cz'],['Ц','CZ'],['ю','yu'],['Ю','Yu'],['Ю','YU'],['ё','yo'],['Ё','Yo'],['Ё','YO'],['я','ya'],['Я','Ya'],['Я','YA'],['ч','ch'],['Ч','Ch'],['Ч','CH'],['ш','sh'],['Ш','Sh'],['Ш','SH'],['э','e`'],['Э','E`'],['ы','y'],['Ы','Y'],['ъ','``'],['ь','`'],['р','r'],['т','t'],['у','u'],['и','i'],['о','o'],['п','p'],['а','a'],['с','s'],['д','d'],['ф','f'],['г','g'],['й','j'],['к','k'],['л','l'],['з','z'],['х','x'],['ц','c'],['в','v'],['б','b'],['н','n'],['м','m'],['Р','R'],['Т','T'],['У','U'],['И','I'],['О','O'],['П','P'],['А','A'],['С','S'],['Д','D'],['Ф','F'],['Г','G'],['Й','J'],['К','K'],['Л','L'],['З','Z'],['Х','X'],['Ц','C'],['В','V'],['Б','B'],['Н','N'],['М','M'],['е','e'],['Е','E']],A=document.activeElement;A.onkeyup=function ftr(){for(var s=A.value,i=0;i<EnRuT.length;i++){s=s.replace(RegExp(EnRuT[i][1],'g'),EnRuT[i][0])};A.value=s}})()",{triggeringPrincipal:gBrowser.contentPrincipal});
									}},//AutoTranslit- https://forum.ru-board.com/topic.cgi?forum=5&topic=46779&start=320#15
    "F1":{"false_false_false":(e)=>{FileUtils.getFile('SysD',['sndvol.exe']).launch();}},
    "F2":{"false_false_false":(e)=>{gBrowser.fixupAndLoadURIString("javascript:{d=document;b=d.body;o=d.createElement('scri'+'pt');o.setAttribute('src','https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit');o.setAttribute('type','text/javascript');b.appendChild(o);v=b.insertBefore(d.createElement('div'),b.firstChild);v.id='google_translate_element';v.style.display='none';p=d.createElement('scri'+'pt');p.text='function googleTranslateElementInit(){new google.translate.TranslateElement({pageLanguage:%22%22},%22google_translate_element%22);}';p.setAttribute('type','text/javascript');b.appendChild(p);}void 0",{triggeringPrincipal:gBrowser.contentPrincipal});
									}},//Enable translation(https://forum.mozilla-russia.org/viewtopic.php?pid=805422#p805422 ||805427#p805427)
    "F3":{"false_false_false":(e)=>{e.preventDefault();gBrowser.fixupAndLoadURIString("javascript:(function(){var night=function(w){(function(d){var css='html{opacity:0.6!important;background:black!important;}body{background:white!important;}';var s=d.getElementsByTagName('style');for(var i=0,si;si=s[i];i++){if(si.innerHTML==css){si.parentNode.removeChild(si);return}};var heads=d.getElementsByTagName('head');if(heads.length){var node=d.createElement('style');node.type='text/css';node.appendChild(d.createTextNode(css));heads[0].appendChild(node)}})(w.document);for(var i=0,f;f=w.frames[i];i++){try{arguments.callee(f)}catch(e){}}};night(window)})();",{triggeringPrincipal:gBrowser.contentPrincipal});
									}},//Night mode(Focus mode)
    "F4":{"false_false_false":(e)=>{e.preventDefault();var vert=`javascript:{const o=["contextmenu","selectstart","select","mousedown","mouseup","cut","copy"],t=["-webkit","-moz","-ms","-khtml",""],e=window.jQuery;[document,document.body,document.documentElement].forEach(n=>{for(const t of o)n["on"+t]=null,e&&e(n).off(t);if(n.style)for(const o of t){const t=[o,"user-select"].join("-");n.style[t]="initial"}})
									};void(0);`;gBrowser.loadURI(Services.io.newURI(vert),{triggeringPrincipal:Services.scriptSecurityManager.getSystemPrincipal()});
									}},//Re-enable selecting & copying text [maple3142] (Bookmarklet)
  "KeyG":{"true_false_false" :(e)=>{e.preventDefault();var bar=document.getElementById("ucf-additional-vertical-bar");setToolbarVisibility(bar,bar.collapsed);}},
  "KeyW":{"false_true_false" :(e)=>{gBrowser.removeAllTabsBut(gBrowser.selectedTab);}},
  "KeyV":{"false_false_false":(e)=>{if(this.skip)return;gClipboard.write(gURLBar.value);glob.flash_bg_text('urlbar-input-container',0,'rgba(240,176,0,0.5)',300);},//300,"CopyURL: "+gURLBar.value.slice(0,80)) 
		  "false_true_false" :(e)=>{e.preventDefault();let url=readFromClipboard();try{switchToTabHavingURI(url,true);}catch(ex){
									var reg=/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/;
									if(!reg.test(url)){url='https://www.google.com/search?q='+encodeURIComponent(url);
									}else{if(url.substring(4,0).toLowerCase()=="http"){url=encodeURIComponent(url);
									}else{url='http://'+encodeURIComponent(url);}}switchToTabHavingURI(url,true);}
									}},//Open clipboard address
  "KeyU":{"true_true_false"  :(e)=>{FileUtils.getFile('UChrm',['user_chrome_files','_','u.exe']).launch();}},
  "KeyA":{"true_true_false"  :(e)=>{FileUtils.getFile('UChrm',['user_chrome_files','_','.Ev','Everything.exe']).launch();}},
  "KeyQ":{"true_false_false" :(e)=>{FileUtils.getFile('UChrm',['user_chrome_files','_','.QT','QTranslate.exe']).launch();}},

handleEvent(e){if(AppConstants.platform !="macosx"){
 (this.handleEvent=e=>{this[e.code]?.[`${e.ctrlKey}_${e.altKey}_${e.shiftKey}`]?.(e);})(e);return;}
 (this.handleEvent=e=>{this[e.code]?.[`${e.metaKey}_${e.altKey}_${e.shiftKey}`]?.(e);})(e);},};
					   document.addEventListener("keydown",keydown,true);
this.destructor=()=>document.removeEventListener("keydown",keydown,true);
that.unloadlisteners.push("keyboardshortcuts");},
}).init(this);

Добавлено 24-06-2023 16:29:20
А, это хоткей самой прогаммы, там как раз Ctrl+Q вызывает то мини-окно. А двойной Ctrl вызывает окно программы. По Ctrl, можно настроить автоперевод в мини-окне. Тогда не ясно, что делает код. По описанию не совсем понятно.

Отредактировано b0ttle (15-07-2023 18:51:08)

Отсутствует

 

№1684925-06-2023 21:09:06

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

Re: Custom Buttons

Можете просто описать действия, чтобы понять, нужен он мне или нет. Пытался проверить, но не пойму куда вставлять в CustomStylesScripts.jsm, или его нужно в custom_script_win.js? И как проверить код, если непонятно что она делает. Я не программист, чтобы понять по самому коду, хоть он и небольшой. Там что-то с хоткеем на Ctrl?

Добавлено 25-06-2023 21:26:35
Да.. почему простой вопрос превратился в фарс, у кого больше. Ладно, не важно.
Добавлено 07-07-2023 11:13:15
Понятно, мне казалось по другому. Про кнопку даже не подозревал. Казалось что там что-то другое, тот же хоткей. Для простого запуска код как-то великоват, что тоже запутало. Действительно CustomizableUI.createWidget, как не заметил. И построение похоже на другие кнопки. Мда. Сейчас все прояснилось. Моя невнимательность. А описание действий что делает код, было лишь предположением.

Отредактировано b0ttle (26-06-2023 02:02:02)

Отсутствует

 

№1685026-06-2023 10:33:49

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

Re: Custom Buttons

b0ttle пишет

Добавлено 07-07-2023 11:13:15

Колдун! :cool:

Отсутствует

 

Board footer

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