rubel
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору pangasiys (15:41 05-10-2023) Цитата: глаза/зрение берегу, не люблю жмуриться от белизны | А у меня для изменения яркости (белизны страниц) стоит кнопочка, наводишь мышку на неё и крутишь колесо, прибавляя, убавляя эту яркость. Скрипт opacity-changer.js Код: (async pref => CustomizableUI.createWidget(({ label: "Изменить уровень яркости экрана", tooltiptext: "Изменить уровень яркости экрана", id: "ucf-tabbrowser-tabpanels-opacity-changer", localized: false, get pref() { return Services.prefs.getIntPref(pref, 100); }, onCreated(btn) { var txt = "При наведении курсора на иконку, прокрутите колесо мыши вверх / вниз, для регулировки яркости.\n" + "Cредний клик, при наведении курсора на иконку кнопки, сбросит яркость по-умолчанию."; var click = () => Services.prompt.alert(null, this.label, txt); var setPref = (e, val = 100) => { Services.prefs.setIntPref(pref, val); e.target.toggleAttribute("rst"); } var auxclick = e => e.button != 1 || setPref(e); var wheel = e => { var val = this.pref + (e.deltaY < 0 ? 1 : -1); val < 0 || val > 100 || setPref(e, val); } (this.onCreated = btn => { btn.onwheel = wheel; btn._handleClick = click; btn.onauxclick = auxclick; btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA7klEQVR4nKWTQW6EMAxFP2gugLgIC87AnmMjIXECLhL7213MxHIo6rQdS1aiyH7+cZwOgOMDe7zWLh8uywKSUFWQhJmBJLZti5h5nrHvuyMp8L/4NE0A4A8kO44jqqlquIiEGpJY1xUkmysAQByaGcwM7h57MwsIAIjIPcDdoxJJiEisvwLkaqUUkIy1OgCc5/kdoKpw96iaFVSIqt4+Y6NARBrp1fMVbgE16PoCpZRmJn4EVJkVlqFvAaoaDazzcPUroL/2oCbnRtZEd4f7c3CHYYi8f43yC9CMcvOhso3jGAq67hnW930kffSdvwAkRmw4ZXkwxgAAAABJRU5ErkJggg=="); })(btn); }, init() { var css = [ "@-moz-document url(chrome://browser/content/browser.xhtml) {", "\t#${this.id}[rst] {filter: grayscale(1%) !important;}", "\t:root:not([chromehidden*=toolbar]) #tabbrowser-tabbox {background-color: black !important;}", `\t:root:not([chromehidden*=toolbar]) #tabbrowser-tabpanels {opacity: ${this.pref / 100} !important;}`, "}" ].join("\n"); var url = `resource://${this.id}/`; Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler) .setSubstitution(this.id, Services.io.newURI("data:text/css," + encodeURIComponent(css))); var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); sss.loadAndRegisterSheet(Services.io.newURI(url), sss.USER_SHEET); var st = InspectorUtils.getAllStyleSheets(( Services.appShell.hiddenDOMWindow || Services.wm.getEnumerator(null).getNext() ).document).find(s => s.href == url).cssRules[0].cssRules[2].style; var obs = () => st.setProperty("opacity", this.pref / 100, "important"); Services.prefs.addObserver(pref, obs); Services.obs.addObserver(function quit(s, topic) { Services.obs.removeObserver(quit, topic); Services.prefs.removeObserver(pref, obs); }, "quit-application-granted"); return this; } }).init()))("ucf.tabbrowser-tabpanels.opacity"); |
| Всего записей: 1442 | Зарегистр. 12-07-2004 | Отправлено: 18:06 05-10-2023 | Исправлено: rubel, 18:08 05-10-2023 |
|