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

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

№7629-08-2022 02:50:02

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

возможно, данная информация лишней не будет (про нынешние пункты главного контекстного меню)
 
вот все 8 пунктов (активных на данный момент) (при щелчке правой кнопкой на обычном месте страницы):

скрытый текст
- opened            id: tm-tabsList
- closed            id: tm-content-undoCloseList
- pages            id: context-bfmenu
- block            id: abp-menuitem-filters
 
- extensions            id: menu_openAddons
- menu-wizard            id: s3menuwizard_openOptions_toolsmenu            onCommand: s3menuwizard.open_options_window();
- options            id: menu_preferences            onCommand: openPreferences();
- off-line            id: s3mw....menuitem.context-media-eme-learnmore.s3men            onCommand: Services.io.offline = !Services.io.offline

вот все остальные 6 пунктoв (активныx на данный момент):
скрытый текст
- copy address            id: context-copylink            onCommand: gContextMenu.copyLink();
- save link as            id: context-savelink            onCommand: gContextMenu.saveLink();
- image-information            id: context-viewimageinfo            onCommand: gContextMenu.viewImageInfo();
 
- un-do            id: context-undo
- paste            id: context-paste
- delete            id: context-delete

в "menu wizard" cреди всех пяти разделов:
       - firefox
       - menu bar
       - tab context menu
       - main context menu
       - bookmarks toolbar
у меня активен только "main context menu"
 
контекстное меню урл-бара я не смог ни отредактировать, ни убрать,
но убрать хотелось бы - вслед за отсутствующими контекстными менюшками: и самих вкладок, и панели вкладок, и bookmarks-панели

Отсутствует

 

№7729-08-2022 14:42:00

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

по поводу уже куда более реальной замены моих двух ad-block-расширений на css-код:
пробую сам методом тыка кое-какой совсем новый код (для usercontent.css), и вроде бы что-то получается
 
к этой минуте код пока включает только около 35 строк:

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

Выделить код

Код:

@-moz-document domain(rutracker.org){ 

DIV#logo,            /* rutracker.org##DIV#logo */
DIV.topmenu,            /* rutracker.org##DIV.topmenu */
DIV#main-nav,            /* rutracker.org##DIV#main-nav */
DIV.signature,            /* rutracker.org##DIV.signature */
.poster_info.td1,            /* rutracker.org##.poster_info.td1 */

DIV#thx-block,            /* rutracker.org##DIV#thx-block */
TD.catTitle,            /* rutracker.org##TD.catTitle */
TH.thHead,            /* rutracker.org##TH.thHead */
.txtb,            /* rutracker.org##.txtb */
.poster_btn.td3,            /* rutracker.org##.poster_btn.td3 */

#t-top-user-buttons,            /* rutracker.org###t-top-user-buttons */
A.med:first-child,            /* rutracker.org##A.med:first-child */
.pad_2.hide-for-print,            /* rutracker.org##.pad_2.hide-for-print */
.news_title,            /* rutracker.org##.news_title */
.post-align:last-child,            /* rutracker.org##.post-align:last-child */
.postLink.p-ext-link,            /* rutracker.org##.postLink.p-ext-link */


DIV#page_footer,            /* rutracker.org##DIV#page_footer */
TD.row3.pad_4,            /* rutracker.org##TD.row3.pad_4 */
.small.hide-for-print[style="margin: 8px 4px;"],            /* rutracker.org##.small.hide-for-print[style="margin: 8px 4px;"] */
.small[style="margin: 8px 4px;"],            /* rutracker.org##.small[style="margin: 8px 4px;"] */

SPAN.tor-icon.tor-approved,            /* rutracker.org##SPAN.tor-icon.tor-approved */
SPAN.tor-icon.tor-not-approved,            /* rutracker.org##SPAN.tor-icon.tor-not-approved */
.td2[colspan="2"],            /* rutracker.org##.td2[colspan="2"] */

DIV.spacer_12,            /* rutracker.org##DIV.spacer_12 */
DIV.spacer_4,            /* rutracker.org##DIV.spacer_4 */
DIV.spacer_6,            /* rutracker.org##DIV.spacer_6 */
DIV.spacer_8,            /* rutracker.org##DIV.spacer_8 */

TD[style="padding: 2px 5px 5px;"],            /* rutracker.org##TD[style="padding: 2px 5px 5px;"] */
TD[style="padding: 3px 6px;"],            /* rutracker.org##TD[style="padding: 3px 6px;"] */
TD[style="padding: 6px;"],            /* rutracker.org##TD[style="padding: 6px;"] */
H1.pagetitle            /* rutracker.org##H1.pagetitle */
 
{display: none !important;} }

(закомментированные кусочки в строках справа - это копии строк из ad-block > custom filters, которые оттуда уже убраны)
 
я хотел бы уточнить:      1) нормальный ли это подход?      2) есть ли что-то более оптимальное?      3) есть ли ошибки?
 
4) нельзя ли подобным образом попробовать скрыть и те самые злополучные символы? (u2727, u2022)
      пока что были неудачные пробы наподобие вот этих:

Выделить код

Код:

@-moz-document domain(rutracker.org){ #span.post-b {display: none !important;} }
 
@-moz-document domain(rutracker.org){ #u2727 {display: none !important;} }

(span.post-b был вписан с подачи инспектора, и я совсем не уверен в корректности этой попытки)

Отсутствует

 

№7830-08-2022 18:42:28

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

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

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


Вобщем, попробовал записать набросок симуляции
этого MW-расклада, не знаю насколько похоже получилось.


Сначала "before" брал из конфигурации, а затем подумал,
что так сложнее редактировать, а твоя конепция, насколько я понял,
позволяет просто сбросить белый список пунктов в начало меню
(в порядке размещения в коде).


Да, для пункта «on-line» надо в создающий его код вписать id'шник.
После строки var menuitem = document.createElement("menuitem");
добавить menuitem.id = "context-toggle-offline";

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

Выделить код

Код:

setTimeout((n, css) => {
	var data = {

		"menu_newNavigatorTab": {
			lab: "new",
			ctrl: true
		},
		"tm-content-closetab": {
			lab: "close",
			ctrl: true
		},
		"context-viewinfo": {
			lab: "information",
			ctrl: true
		},
		"tm-content-undoCloseTab": {
			lab: "re-store closed",
			ctrl: true
		},
		"context-reloadimage": {
			lab: "re-load image",
			ctrl: true
		},
		"tm-tabsList": {
			lab: "opened"
		},
		"tm-content-undoCloseList": {
			lab: "closed"
		},
		"context-copylink": {
			lab: "copy address"
		},
		"context-savelink": {
			lab: "save link as"
		},
		"context-saveimage": {
			lab: "save image as",
			ctrl: true
		},
		"context-viewimageinfo": {
			lab: "image-information"
		},
		"context-bfmenu": {
			lab: "pages"
		},
		"context-toggle-offline": {

		},
		"menuitem_inspector": {
			lab: "inspector",
			ctrl: true
		},
		"menu_browserConsole": {
			lab: "console",
			ctrl: true
		},
		"context-inspect": {
			lab: "inspect element",
			ctrl: true
		},
		"abp-menuitem-filters": {
			lab: "block"
		},
		"menu_customizeToolbars": {
			lab: "customize",
			ctrl: true
		},
		"menu_openAddons": {
			lab: "extensions"
		},
		"menu_preferences": {
			lab: "options"
		},
		"tm-reloadLeft": {
			lab: "re-load left",
			ctrl: true,
			oncommand: "gBrowser._reloadLeftTabs(gBrowser.selectedTab);"
		},
		"tm-reloadRight": {
			lab: "re-load right",
			ctrl: true,
			oncommand: "gBrowser._reloadRightTabs(gBrowser.selectedTab);"
		},
		"context-undo": {
			lab: "un-do"
		},
		"context-paste": {
			lab: "paste"
		},
		"context-delete": {
			lab: "delete"
		},
		"context-copy": {
			lab: "copy",
			ctrl: true
		},
	};
	var keys = {

		goHome: {
			key: "D",
			modifiers: "control"
		},
		key_cut: true,
		key_copy: true,
		key_undo: true,
		key_redo: true,
		key_delete: true,
		key_selectAll: true,

		key_find: true,
		key_stop: true,
		key_reload: true,
		showAllHistoryKb: true,
		key_newNavigatorTab: true,
		key_devToolboxMenuItemF12: true,
	};
	var kAttrs = ["key", "keycode", "modifiers"];
	for(var key of document.querySelectorAll("key[id]")) {
		var kData = keys[key.id];
		if (kData) {
			if (typeof kData == "object")
				for(var attr of kAttrs) attr in kData
					? key.setAttribute(attr, kData[attr])
					: key.removeAttribute(attr);
		}
		else key.setAttribute("disabled", true);
	}

	var popup = n("contentAreaContextMenu");
	var attrs = ["key", "accesskey", "acceltext"];
	var remAttrs = elm => attrs.forEach(elm.removeAttribute, elm);

	var ids = [], ctrlIds = [];
	var df = document.createDocumentFragment();
	for(var id in data) {
		var elm = n(id);
		if (!elm) continue;

		var obj = data[id];
		(obj.ctrl ? ctrlIds : ids).push("#" + id);

		remAttrs(elm);
		var br, obs = elm.getAttribute("observes");
		if (obs) br = n(obs), br && remAttrs(br);

		if ("lab" in obj)
			br && br.removeAttribute("label"),
			elm.setAttribute("label", obj.lab);

		obj.oncommand && elm.setAttribute("oncommand", obj.oncommand);

		df.appendChild(elm);
	}
	popup.insertBefore(df, popup.firstChild);

	var ind = 0;
	ids.push("#toolbar-bookmarks-separator", ".bookmark-item");
	for (var arr of [ids, ctrlIds])
		css = css.replace(`%${ind++}%`, arr.join(",\n\t"));

	var attr = "ctrl";
	var url = "data:text/css;charset=utf-8," + encodeURIComponent(css.trim().replace("%ATTR%", attr));
	window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils)
		.loadSheetUsingURIString(url, Ci.nsIDOMWindowUtils.USER_SHEET);

	var ps = e => {
		if (e.target != popup) return;
		var ctrl = e.ctrlKey && !e.shiftKey && !e.altKey;
		if (ctrl ^ popup.hasAttribute(attr)) ctrl
			? popup.setAttribute(attr, true)
			: popup.removeAttribute(attr);
	}
	popup.addEventListener("popupshowing", ps);
	window.addEventListener("unload", function unload() {
		window.removeEventListener("unload", unload);
		popup.removeEventListener("popupshowing", ps);
	});

}, 777, id => document.getElementById(id), `

#contentAreaContextMenu {
	width: 114px !important;
}
#appmenu-popup,
#placesContext,
#tabContextMenu,
#toolbar-menubar,
/*toolbar-context-menu,*/
#urlbar .textbox-contextmenu,
#contentAreaContextMenu > :-moz-any(
	menu, menuitem, menugroup, menuseparator
) {
	display: none;
}
#contentAreaContextMenu > :-moz-any(

	%0%

):not([hidden=true]), #contentAreaContextMenu[%ATTR%] > :-moz-any(

	%1%

):not([hidden=true]) {
	display: -moz-box !important;
}

`);

Отсутствует

 

№7931-08-2022 01:03:28

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

спасибо за код, который уже почти приговорил расширение "menu-wizard" - нахожусь в процессе разбирательства и тестирования,
ниже перечислю самые заметные для меня вопросы/уточнения (на данный момент):
 
1) по поводу списка "closed": появилась проблема - внизу добавились вот эти 3 строки:      [separator]      Clear Closed Tabs List      Restore All Tabs
как их теперь убрать? a сделать это точно можно: например, у меня в userChrome.css ещё осталось кое-что похожее, но оно для bookmarks-меню:

Выделить код

Код:

.openintabs-menuseparator,      .openintabs-menuitem,      .bookmarks-actions-menuseparator { display: none !important; }

2) ещё одна проблема: отбражается контекстное меню, если кликнуть в мелкую зону (между последним bookmark и url-bar - они на одной строке), меню включает:
      move to menu      remove from toolbar      [separator]
      navigation toolbar      menu bar      bookmarks toolbar      add-on bar      [separator]
      customize

причём при некоторых кликах (в ту мелкую зону) показывается то же меню, но 2 первых пункта и разделитель под ними - деактивированы (эти 3 строчки - серые)
как убрать эту менюшку/менюшки?
 
 
3) число 70 у меня установлено в качестве максимума для списка "closed", поскольку именно 70 (не болeе) влезает по вертикали, и здесь мне хватает 70,
но в списке "opened" иногда бывает более 70 вкладок/строк, и тогда появляются мелкие стрелочки (одна сверху и одна снизу) для прокручивания списка
 
      причём здесь я невероятно давно заприметил глюк (крайне изредка он не проявляется) (и его, конечно, хотелось бы как-то исправить):       
      если довести количество вкладок до 71 (или более), а затем вернуть до 70 (или менее),
      то эти стрелочки уже не исчезают (до перезагрузки браузера) (хотя обязаны), а ведь необходимости в них уже нет,
      и таким образом они даже мешают - как минимум, не дают видеть строку-70 - хотя она уже и могла бы отображаться тоже напрямую (без всяких стрелочек)
 
так вот, основной вопрос здесь такой:      есть ли способ скорректировать отображение содержимого списка "opened" так, чтобы строка-71 (и далее)
показывалась не вертикально внизу (после строки-70), а начинала бы ещё 1 такой же вертикальный список:
 
- расположенный сразу правее от списка, где от 1 до 70 (и в точности до пикселя на том же горизонтальном уровне)
- и уже в нём сразу же были бы видны строки от 71 до 140 (конечно, какие вообще были бы на тот момент)
- более 140 у меня не будет (но если что: от 141 и далее - можно уже обычным стрелочным образом добавлять в низ того же списка, где от 71 до 140)
 
 
 
4) список "opened" у меня всегда сверху (первая строка)   ---   есть ли способ сделать так, чтобы при вызове главного контекстного меню:
 
- происходила мгновенная имитация сдвигания курсора (на 5 пикселей вправо и на 5 вниз), чтобы содержимое важнейшего спиcкa "opened" сразу всегда становилoсь видимым
      (это получилось бы эргономическое улучшение, пусть и нестандартное)
 
- или в качестве менее интересной альтернативы: автоматическое передвигание курсора (видимое) (на 5 пикселей вправо и на 5 вниз) 
      (тоже, чтобы содержимое важнейшего спиcкa "opened" сразу всегда становилoсь видимым)

Отсутствует

 

№8031-08-2022 07:55:58

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

5) после деактивации расширения menu-wizard появилась проблема с назначенной Ctrl+N (новая вкладка просто теперь не создаётся)
 
в "tab mix plus options > menu > shortcuts" у меня только две активные команды:      open a new tab (Ctrl+N)      reloads the tab (F5)
ещё есть      reloads the tab*      но она неактивна
(так вот, F5 срабатывает, а Ctrl+N не срабатывает)
 
здесь непонятная проблема была и при включенном menu-wizard, поэтому в нём у меня Ctrl+N тоже была активна (в строке "New Tab" - key_newNavigatorTab),
ведь только при таком двойном прописывании и срабатывала Ctrl+N
 
      (проблемa нe воспроизводилась стабильно, поэтому пишу как мне запомнилось:
      изредка Ctrl+N начиналa срабатывать вроде бы именно после удаления, а затем добавления её обратно в "tab mix plus options > menu > shortcuts")
 
ещё в menu-wizard была неактивна такая строка:      "new" - menu_newNavigatorTab_s3mw_hotkey
 
что касается и так срабатывающей F5:      при включенном menu-wizard - в нём было прописано: key_reload (F5)      key_reload2 (пусто)
 
 
6) я увидел малозаметную визуальную проблему (видна только, если активная вкладка about:addons расположена в нижнем ряде вкладок),
суть в нежелательной белой полосе, которая видна как бы сразу под вкладкой "Add-ons Manager":
 
- полоса имеет 1 пиксель в высоту (и 83 в ширину)
- сейчас в "tab mix plus options > tab width":      82 to 82
 
- может быть, подобная полоска есть под любой другой вкладкой (когда она активна), находящейся в нижнем ряде вкладок,
      но там этого всё равно, к счастью, не видно, так как всё белое в любом случае,
     
      а вот внутри особенной вкладки "Add-ons Manager" сразу под нижним рядом вкладок начинается широкая серая зона, 
      из-за которой (внутри которой) эта полоса-83х1 и видна (совсем сверху в данной зоне)
 
- в идеале бы убрать саму полоску, но как?
- или как альтернативный (менее хороший) вариант: как-то побелить фон вкладки "Add-ons Manager":
      речь о том фоне, который, например, сверху, а также слева (там, где пункты:      get add-ons, extensions, appearance, plugins, services)
 
- а совсем уж хорошим выходом была бы возможность открывать Add-ons Manager в дочернем окне (как это когда-то и было),
      и для этого я пробовал (безуспешно) что-то типа этого:      #BrowserAddonsManager { height: 136ex !important; width: 102em !important; }

Отсутствует

 

№8101-09-2022 10:14:13

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri
Хорошо, вот попытка учесть некоторое из сказанного.

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

Выделить код

Код:

setTimeout((n, css) => {
	var data = {

		"menu_newNavigatorTab": {
			lab: "new",
			ctrl: true
		},
		"tm-content-closetab": {
			lab: "close",
			ctrl: true
		},
		"context-viewinfo": {
			lab: "information",
			ctrl: true
		},
		"tm-content-undoCloseTab": {
			lab: "re-store closed",
			ctrl: true
		},
		"context-reloadimage": {
			lab: "re-load image",
			ctrl: true
		},
		"tm-tabsList": {
			lab: "opened"
		},
		"tm-content-undoCloseList": {
			lab: "closed"
		},
		"context-copylink": {
			lab: "copy address"
		},
		"context-savelink": {
			lab: "save link as"
		},
		"context-saveimage": {
			lab: "save image as",
			ctrl: true
		},
		"context-viewimageinfo": {
			lab: "image-information"
		},
		"context-bfmenu": {
			lab: "pages"
		},
		"context-toggle-offline": {

		},
		"menuitem_inspector": {
			lab: "inspector",
			ctrl: true
		},
		"menu_browserConsole": {
			lab: "console",
			ctrl: true
		},
		"context-inspect": {
			lab: "inspect element",
			ctrl: true
		},
		"abp-menuitem-filters": {
			lab: "block"
		},
		"menu_customizeToolbars": {
			lab: "customize",
			ctrl: true
		},
		"menu_openAddons": {
			lab: "extensions"
		},
		"menu_preferences": {
			lab: "options"
		},
		"tm-reloadLeft": {
			lab: "re-load left",
			ctrl: true,
			oncommand: "gBrowser._reloadLeftTabs(gBrowser.selectedTab);"
		},
		"tm-reloadRight": {
			lab: "re-load right",
			ctrl: true,
			oncommand: "gBrowser._reloadRightTabs(gBrowser.selectedTab);"
		},
		"context-undo": {
			lab: "un-do"
		},
		"context-paste": {
			lab: "paste"
		},
		"context-delete": {
			lab: "delete"
		},
		"context-copy": {
			lab: "copy",
			ctrl: true
		},
	};
	var keys = {

		goHome: {
			key: "D",
			modifiers: "control"
		},
		key_newNavigatorTab: {
			key: "N",
			modifiers: "control"
		},
		key_cut: true,
		key_copy: true,
		key_undo: true,
		key_redo: true,
		key_delete: true,
		key_selectAll: true,

		key_find: true,
		key_stop: true,
		key_reload: true,
		showAllHistoryKb: true,
		key_devToolboxMenuItemF12: true,
	};
	var kAttrs = ["key", "keycode", "modifiers"];
	for(var key of document.querySelectorAll("key[id]")) {
		var kData = keys[key.id];
		if (kData) {
			if (typeof kData != "object") continue;

			var sel = `key:not(#${key.id})`;
			for(var attr of kAttrs) {
				if (attr in kData) {
					var val = kData[attr];
					key.setAttribute(attr, val);
					sel += `[${attr}="${val}"]`;
				}
				else
					key.removeAttribute(attr),
					sel += `:not([${attr}])`;
			}
			if (sel.includes("control"))
				sel +=  "," + sel.replace("control", "accel");

			var dupe = document.querySelector(sel);
			if (dupe)
				dupe.setAttribute("key", ""),
				dupe.setAttribute("keycode", "");
		}
		else key.setAttribute("disabled", true);
	}

	var popup = n("contentAreaContextMenu");
	var attrs = ["key", "accesskey", "acceltext"];
	var remAttrs = elm => attrs.forEach(elm.removeAttribute, elm);

	var ids = [], ctrlIds = [];
	var df = document.createDocumentFragment();
	for(var id in data) {
		var elm = n(id);
		if (!elm) continue;

		var obj = data[id];
		(obj.ctrl ? ctrlIds : ids).push("#" + id);

		remAttrs(elm);
		var br, obs = elm.getAttribute("observes");
		if (obs) br = n(obs), br && remAttrs(br);

		if ("lab" in obj)
			br && br.removeAttribute("label"),
			elm.setAttribute("label", obj.lab);

		obj.oncommand && elm.setAttribute("oncommand", obj.oncommand);

		df.appendChild(elm);
	}
	popup.insertBefore(df, popup.firstChild);

	var ind = 0;
	ids.push("#toolbar-bookmarks-separator", ".bookmark-item");
	for (var arr of [ids, ctrlIds])
		css = css.replace(`%${ind++}%`, arr.join(",\n\t"));

	var attr = "ctrl";
	var url = "data:text/css;charset=utf-8," + encodeURIComponent(css.trim().replace("%ATTR%", attr));
	window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils)
		.loadSheetUsingURIString(url, Ci.nsIDOMWindowUtils.USER_SHEET);

	var openTabList = () => {
		var list = n("tm-tabsList");
		var popup = list.menupopup;

		popup.setAttribute("onpopupshowing", popup.getAttribute("onpopupshowing") + " hps();");
		popup.hps = () => {
			var max = screen.height - 8, mp = max + "px";
			var box = popup.firstChild.boxObject.parentBox;
			var bo = box.boxObject, bs = box.style;
			(popup.hps = () => {
				if (box.wh)
					box.wh = false,
					bs.removeProperty("width"),
					bs.removeProperty("height");

				if (bo.height <= max) return;

				box.wh = true;
				bs.setProperty("height", mp, "important");
				var lbo = popup.lastChild.boxObject;
				var w = lbo.screenX + lbo.width - bo.screenX;
				bs.setProperty("width", w + "px", "important");
			})();
		}
		var bo = list.boxObject;
		var open = bo.openMenu.bind(bo, true);
		(openTabList = () => requestAnimationFrame(open))();
	}
	var ps = e => {
		if (e.target != popup) return;
		var ctrl = e.ctrlKey && !e.shiftKey && !e.altKey;
		if (ctrl ^ popup.hasAttribute(attr)) ctrl
			? popup.setAttribute(attr, true)
			: popup.removeAttribute(attr);

		openTabList();
	}
	popup.addEventListener("popupshowing", ps);
	window.addEventListener("unload", function unload() {
		window.removeEventListener("unload", unload);
		popup.removeEventListener("popupshowing", ps);
	});

}, 777, id => document.getElementById(id), `

#contentAreaContextMenu {
	width: 114px !important;
}
#appmenu-popup,
#placesContext,
#tabContextMenu,
#toolbar-menubar,
#toolbar-context-menu,
#urlbar .textbox-contextmenu,

#tm-content-undoCloseList-menu > menuseparator,
#tm-content-undoCloseList-menu > menuseparator ~ *,
#tm-tabsList-menu > menuitem > .menu-accel-container,

#contentAreaContextMenu > :-moz-any(
	menu, menuitem, menugroup, menuseparator
) {
	display: none;
}
#contentAreaContextMenu > :-moz-any(

	%0%

):not([hidden=true]), #contentAreaContextMenu[%ATTR%] > :-moz-any(

	%1%

):not([hidden=true]) {
	display: -moz-box !important;
}

#tm-tabsList-menu .scrollbox-innerbox {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: wrap !important;
}
#tm-tabsList-menu > menuitem {
	margin-right: 0 !important;
	box-shadow: none !important;
}

`);

суть в нежелательной белой полосе, которая видна как бы сразу под вкладкой "Add-ons Manager"

Не вижу.

а совсем уж хорошим выходом была бы возможность открывать Add-ons Manager в дочернем окне

Можно попробовать подменить BrowserOpenAddonsMgr().
Как бы это что-нибудь не сломало, надо присмотреться.

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

Выделить код

Код:

window.BrowserOpenAddonsMgr = function BrowserOpenAddonsMgr(aView) {
	var win = Services.wm.getMostRecentWindow("Addons:Manager");
	win ? win.focus(aView && win.loadView(aView)) : win = openDialog(
		"chrome://mozapps/content/extensions/extensions.xul", "",
		"chrome,menubar,extra-chrome,toolbar,dialog=no,resizable", {
			get view() {
				win.document.documentElement.setAttribute(
					"persist", "width height screenX screenY sizemode"
				);
				delete this.view;
				return this.view = aView || "addons://list/extension";
			}
		}
	);
}

Отсутствует

 

№8201-09-2022 19:19:25

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

вот попытка учесть некоторое из сказанного

благодарю за попытку, которая по первым тестированиям выглядит изумительной:
- пункт-1:      3 нежелательные строки исчезли
- пункт-2:      нежелательное контекстное меню теперь там не отображается
 
- пункт-3 (часть-1):      исправление глюка проверить не представляется возможным технически, но это нормально, 
                                     так как теперь сама реализация списка "opened" не предусматривает условий для появления этого глюка
 
- пункт-3 (часть-2):      а это, собственно, и есть новая реализация списка "opened", которая выглядит потрясающе,
                                     и я ещё даже специально проверил, как выглядит список после строки-140, и могу сказать, что это самый лучший вариант (без стрелок)
 
      в общем, стало значительно удобнее, так как все вкладки всегда теперь везде видны:
 
      - никогда не вернусь на однострочный вариант панели вкладок (который с горизонтальным скролом влево-вправо)
      - стало гораздo больше свободы - можно при особой необходимости открыть хоть 207 вкладок (и даже это не предел), и при этом они все будут сразу видны:
         и на панели вкладок (я выставил максимум 9 рядов по 23 вкладки), и в списке "opened" (тут 210 вкладок точно влезают, а то и даже 280)
 
- пункт-4 (имитация сдвигания курсора):      это как бы продолжение пункта-3 (части-2), и там по данному пункту-4 уже вроде всё сказано
                                                                 (можно разве что упомянуть, что пока ощущается довольно непривычно, но мне всё равно так больше нравится)
 
- пункт-5:      по нажатию на Ctrl+N новая вкладка теперь создаётся, хотя я вчера и пробовал сам добавлять в код строку
                     key_newNavigatorTab: { key: "N", modifiers: "control" },        но тогда она не сработала (наверно, ты в коде исправил что-то ещё)
 
вот так у меня сейчас выглядит начало этого нового кода - пока побудет в таком виде (который очень похож на готовый вариант):

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

Выделить код

Код:

setTimeout((n, css) => {
	var data = {
"tm-tabsList": { lab: "opened" },
"tm-content-undoCloseList": { lab: "closed" },
"context-bfmenu": { lab: "pages" },
"menuitem_inspector": { lab: "inspector" },
"menu_openAddons": { lab: "extensions" },
"menu_preferences": { lab: "options" },
"context-toggle-offline": {  },
"context-copylink": { lab: "copy address" },
"context-savelink": { lab: "save link as" },
"tm-content-undoCloseTab": { lab: "re-store closed", ctrl: true },
"tm-reloadLeft": { lab: "re-load left", ctrl: true, oncommand: "gBrowser._reloadLeftTabs(gBrowser.selectedTab);" },
"tm-reloadRight": { lab: "re-load right", ctrl: true, oncommand: "gBrowser._reloadRightTabs(gBrowser.selectedTab);" },
"context-reloadimage": { lab: "re-load image", ctrl: true },
"context-saveimage": { lab: "save image as", ctrl: true },
"context-viewimageinfo": { lab: "image-information" },
"context-viewinfo": { lab: "information", ctrl: true },
/* "abp-menuitem-filters": { lab: "block" }, */
"context-inspect": { lab: "inspect element", ctrl: true },
"menu_browserConsole": { lab: "console", ctrl: true },
"menu_customizeToolbars": { lab: "customize", ctrl: true },
"menu_newNavigatorTab": { lab: "new", ctrl: true },
"tm-content-closetab": { lab: "close", ctrl: true },
"context-undo": { lab: "un-do" },
"context-paste": { lab: "paste" },
"context-delete": { lab: "delete" },
"context-copy": { lab: "copy", ctrl: true },
	};
	var keys = {

мелкое уточнение на будущее (на всякий случай):      расширение menu-wizard у меня будет точно удалено уже очень скоро,
      и если мне понадобится добавить (в размещённый чуть выше код) какую-то совсем другую команду, которая в menu-wizard была,
      то где брать информацию по этой команде? то есть, информацию по типу:      "tm-tabsList"      или "context-bfmenu"      или "context-viewimageinfo"
 
 

Добавлено 01-09-2022 19:27:47
 
 
- пункт-6:     

Можно попробовать подменить BrowserOpenAddonsMgr()

попробовал - открывается новое полноэкранное фф-окно "about:addons":
я ожидал, что оно будет не полноэкранным, но так тоже вполне нормально (точно лучше, чем было)

Как бы это что-нибудь не сломало, надо присмотреться

за первые минуты я сломанного ничего не заметил (есть ли что-то более-менее конкретное, к чему бы мне стоило присматриваться?)

Не вижу

вот 2 скрина:
1.
2022-09-01-17-45-39.png
2.
2022-09-01-17-47-55.png
 
на первом смотреть надо сразу под синие символы "Add-ons Man..." (это последняя вкладка),
а второй скрин - это тоже самое, но просто сильно увеличенное в размере (то есть, много-много zoom'а)
 
причём на втором скрине ещё и хорошо виден тот самый (полуисправленный ранее) визуальный дефект:
- тонкая вертикальная полоска сразу перед символами "Add-ons Man..."
- на этот раз полоска не красная (как это было ранее в десятках/сотнях случаев), а вроде синяя
 
 
мои соображения по поводу подмены BrowserOpenAddonsMgr():
- оставить как есть, наверно, можно было бы (хотя фраза "что-нибудь не сломало", конечно, добавляет беспокойства)
 
- но если можно убрать эту белую полоску (под вкладкой "Add-ons Manager")
   (и, вероятно, не только под ней, а и везде под нижним рядом вкладок - в случае, если вкладка активна), то было бы здорово
 
может это "classic theme restorer" что-то своё привносит?
пожалуста, дай знать, если тебе вдруг по силам было бы попробовать заменить кодом и весь "classic theme restorer" тоже,
и тогда скину тебе в личку нужные файлы (пока не понимаю, какие именно нужны - соответствующей папки я сходу не нашёл)

Отредактировано austri (01-09-2022 19:27:47)

Отсутствует

 

№8302-09-2022 07:20:32

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

мелкое уточнение на будущее (на всякий случай):      расширение menu-wizard у меня будет точно удалено уже очень скоро,
      и если мне понадобится добавить (в размещённый чуть выше код) какую-то совсем другую команду, которая в menu-wizard была,
      то где брать информацию по этой команде? то есть, информацию по типу:      "tm-tabsList"      или "context-bfmenu"      или "context-viewimageinfo"

Вроде я уже предлагал завести копию фф для специальных нужд.
Вот в ней menu-wizard и не удаляй. Если приспичит «мне понадобится»,
тогда запустил, посмотрел, закрыл. Ну, если ресурсы железа позволяют такое, конечно.

попробовал - открывается новое полноэкранное фф-окно "about:addons":
я ожидал, что оно будет не полноэкранным

Полноэкранное? Типа full screen? (как BrowserFullScreen(), F11 в немодифицированном фф).
Нет, такого быть не должно, да и не может.


Наверно имеется в виду развёрнутое (maximized).
Тогда нормализируй (сверни в окно), сделай ресайз окна какой нужно, расположи его как надо.
Я специально вписал "persist" в код, таким образом, при следующем вызове этого окна,
оно должно открыться с таким же размером и позицией.

смотреть надо сразу под синие символы "Add-ons Man..." (это последняя вкладка)

Да верю я что у тебя так оно и есть.
«Не вижу» — это было не сетование на проблемы со зрением,
а то, что у меня этот феномен не наблюдается как таковой,
а значит и предложить что-либо полезное не могу.

Отсутствует

 

№8402-09-2022 08:07:40

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

завести копию фф для специальных нужд

копий браузера-то завались (десятки) (за годы от 2015 по 2022), но у меня нет опыта запуска копии лисы (при наличии основной),
пытаюсь сказать, что просто опасаюсь (видимо, по-дилетантски), что копия мне чего-то напортит в основном профиле
(я и в профилях-то не разбираюсь - всегда в одном сижу)
 
ведь фф-portable на самом деле псевдо-portable (в каком-то смысле), поскольку реальный честный portable - это когда всё в одной папке,
а он ведь изначально создал (сам) (без разрешения) как минимум вот эту папку:
C:\Documents and Settings\Administrator\Application Data\Mozilla      а она у меня, вообще-то, даже на другом диске
 
 
впрочем, с 2022 у меня имеется в наличии и другой лисоподобный браузер (запасной)
(недонастроенный толком, ибо не поддаётся до конца) (но крайне похож на мой основной фф)
 
в нём и пишу сейчас - форум вот его видит как "UA: Firefox 68.0", хотя это и не фф
и у этого почему-то аж 2 названия, но оба не фф (в процессах - одно-название.ехе) (в панели задач - другое название),
вот в нём "menu-wizard", видимо, придётся и оставить
 
и к слову - этот "68.0" тоже типа портабельный - и вот он не поскромничал как мой основной фф-40:
этот запасной браузер скинул (тоже на другой диск) сразу целую кучу всего:
- 257 files, 213 folders:      149 mb
- в папку C:\Documents and Settings\Administrator\Application Data\вот-сюда\
- а сам-то он "портабелится" на диске D

Полноэкранное? Типа full screen?

прошу прощения - я имел в виду как бы развёрнутое - ну то есть, занимающее весь экран (кроме панели задач)

а то, что у меня этот феномен не наблюдается как таковой

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

Отсутствует

 

№8503-09-2022 02:38:43

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

1. небольшой вопрос - можно ли кодом добиться такой мелочи?:
- автоматическое проставление курсора при каждой загрузке этой страницы
- вот в эту её часть:      input#text_match_input.post
 
2. накопилось немножко наблюдений/уточнений по поводу ранее обсуждавшихся мусорных символов на страницах:

через "Панель управления" открыл окно "Шрифты"
и притащил туда (от балды) seguisym.ttf (Segoe UI Symbol) из Windows 7.
Возвращаюсь в браузер, и, вуаля, вместо прямоугольников отображаются звёздочки.
Тогда может тебе стоит просто шрифт какой-нибудь поставить

я это пробовал дня 4 назад - не прокатило - ну не очень-то и хотелось,
ведь цель не заполучить звёздочки (вместо прямоугольников) или какие-то другие бессмысленные символы,
а просто нарыть ручной способ, позволяющий убирать (с помощью кода) любой подобный символ во всех его копиях

Конечно они видны. Но не DOM-дерево. Посетил страницу, и мне видно,
что эти символы — просто текстовые ноды
и ни в какой свой отдельный <span> каждая из них не завёрнута.
Не знаю, может у тебя другой расклад отображается

в первой из двух ранее упоминавшихся страниц
символ-2727 (в его первых трёх случаях - и в последнем 11-м) имеет в инспекторе вот это:
 
span.post-font-serif1 > span:nth-child(1) > span:nth-child(11) > span:nth-child(25)
span.post-font-serif1 > span:nth-child(1) > span:nth-child(11) > span:nth-child(29)
span.post-font-serif1 > span:nth-child(1) > span:nth-child(11) > span:nth-child(33)
span.post-font-serif1 > span:nth-child(1) > span:nth-child(11) > span:nth-child(65)
 
и скрытие срабатывает:      через код   @-moz-document domain(rutracker.org)   ...   display: none !important
причём даже и в таком кратком варианте этих четырёх строк:
span:nth-child(25),
span:nth-child(29),
span:nth-child(33),
span:nth-child(65)
 
но тогда во второй ранее упоминавшeйся странице
ошибочно скрывается название первой песни ("01 - Rette sich wer kann"), размещённое там сразу за тамошним первым символом-2727,
поскольку у этого названия совпадает номер: (25)
ну а сам инспектор здесь пишет чуть другое:      span.p-color:nth-child(25)
 
в этой второй странице символ-2727 (в его первых трёх случаях - и в последнем 13-м) имеет в инспекторе вот это:
span:nth-child(24)
span:nth-child(27)
span:nth-child(30)
span:nth-child(60)
 
могут ли найтись в инспекторе ещё какие-то зацепки? (более уникальные) (вместо этих простых числовых, часто совпадающих)
 
я вот тут читал немножко, но не сказать, чтобы как-то помогло

Отсутствует

 

№8603-09-2022 23:38:17

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

- автоматическое проставление курсора при каждой загрузке этой страницы
- вот в эту её часть:      input#text_match_input.post

Негде мне взять «эту страницу», говорил же, рутрекер мне показывает фигу.
Можно так попробовать, нет так нет.


Да, если код подмены BrowserOpenAddonsMgr() оставил,
то надо добавить точку с запятой в самый конец кода,
сразу после последней закрывающей скобки, вот так: };
а то будет нестыковка, если следующий код пойдёт в обёртке.

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

Выделить код

Код:

(() => {
	var focus = inp => {
		inp.focus();
		var br = inp.ownerGlobal.top.document.docShell.chromeEventHandler;
		if (br != gBrowser.selectedBrowser) br._urlbarFocused = false;
	}
	var pageshow = e => {
		var doc = e.target;
		if (doc.location == "https://rutracker.org/forum/search.php") {
			var input = doc.querySelector("input#text_match_input.post");
			input && setTimeout(focus, 500, input);
		}
	}
	gBrowser.addEventListener("pageshow", pageshow);
	window.addEventListener("unload", function unload() {
		window.removeEventListener("unload", unload);
		gBrowser.removeEventListener("pageshow", pageshow);
	});
})();

могут ли найтись в инспекторе ещё какие-то зацепки?

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

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

Выделить код

Код:

@-moz-document regexp("https://rutracker\\.org/forum/viewtopic\\.php\\?t=(?:6142402|6067255)") {
	.row1 .post_body > :first-child > :first-child > :first-child > :last-child > var:last-of-type ~ span[style*="line-height"] {
		display: none !important;
	}
}

Отсутствует

 

№8704-09-2022 04:21:05

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

Можно так попробовать, нет так нет

получилось сразу - и за эту мелочь тоже благодарю - она мне сэкономит гигантское количество кликов по этой строке поиска,
которая почему-то не имеет фокуса (при загрузке этой страницы)   ---   видимо, там это не продумали

input && setTimeout(focus, 500, input);

- я изменил 500 на 5, а затем и вовсе на 0   ---   и мне 0 нравится больше всего (да, я каким-то чудом вижу разницу между 5 и 0)
- не страшно ли, если я 0 и оставлю? (могут ли быть какие-то плохие нюансы/последствия?)
 

если код подмены BrowserOpenAddonsMgr() оставил

да, оставил, так как с ним мне удобнее   ---   ну и дефектную белую полоску не видно (ей при таком раскладе негде показаться)
 
и ещё это новое отдельное окно выглядит симпатично, правда, глаза б мои его не видели - ведь так неплохо было бы вовсе без расширений,
но, к сожалению, всё идёт к тому, что сколько-то вынужденно останется   ---   вот из изначальных 16 штук список выживших к данному моменту:
      - Classic Theme Restorer (1.3.7.1)
      - Expire History By Days (1.1.1)      (посматриваю на него всё более алчно)
      - Tab Mix Plus (0.4.1.8)      (который в эти недели обзавёлся у меня недурной бронёй)
 
а вот эти трое уже, по сути, не жильцы (так, по инерции висят пока в отключке):
      - Adblock Plus (2.6.10)
      - Element Hiding Helper For Adblock Plus (1.3.3)
      - Menu Wizard (2.10)
 
по поводу этих двух ад-блоков я, наверно, как-нибудь в другой раз сформулирую просьбу дать мне совет,
a пока что просто упомяну, что вот этот скромный код мне уже позволил на 99% забыть об ад-блоках (но этот 1% пока что держу в уме крепко):

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

Выделить код

Код:

@-moz-document domain(rutracker.org){ 
#ped-editor,      /* rutracker.org###ped-editor */
#t-top-user-buttons,      /* rutracker.org###t-top-user-buttons */
.news_title,      /* rutracker.org##.news_title */
.pad_2.hide-for-print,      /* rutracker.org##.pad_2.hide-for-print */

/*.post-align:last-child,*/      /* rutracker.org##.post-align:last-child */
a.postLink,      /* new line (not from ad-block) (instead of      .post-align:last-child) */

.poster_btn.td3,      /* rutracker.org##.poster_btn.td3 */
.poster_info.td1,      /* rutracker.org##.poster_info.td1 */
.postLink.p-ext-link,      /* rutracker.org##.postLink.p-ext-link */
.small.hide-for-print[style="margin: 8px 4px;"],      /* rutracker.org##.small.hide-for-print[style="margin: 8px 4px;"] */
.small[style="margin: 8px 4px;"],      /* rutracker.org##.small[style="margin: 8px 4px;"] */
.td2[colspan="2"],      /* rutracker.org##.td2[colspan="2"] */
.topic.hide-for-print,      /* rutracker.org##.topic.hide-for-print */
.topic.w100,      /* rutracker.org##.topic.w100 */
.tRight,      /* rutracker.org##.tRight */
.txtb,      /* rutracker.org##.txtb */
A.med:first-child,      /* rutracker.org##A.med:first-child */

DIV#logo,      /* rutracker.org##DIV#logo */
DIV#main-nav,      /* rutracker.org##DIV#main-nav */
DIV#page_footer,      /* rutracker.org##DIV#page_footer */
DIV#thx-block,      /* rutracker.org##DIV#thx-block */
DIV.signature,      /* rutracker.org##DIV.signature */
DIV.spacer_12,      /* rutracker.org##DIV.spacer_12 */
DIV.spacer_4,      /* rutracker.org##DIV.spacer_4 */
DIV.spacer_6,      /* rutracker.org##DIV.spacer_6 */
DIV.spacer_8,      /* rutracker.org##DIV.spacer_8 */
DIV.topmenu,      /* rutracker.org##DIV.topmenu */

H1.pagetitle,      /* rutracker.org##H1.pagetitle */
SPAN.tor-icon.tor-approved,      /* rutracker.org##SPAN.tor-icon.tor-approved */
SPAN.tor-icon.tor-not-approved,      /* rutracker.org##SPAN.tor-icon.tor-not-approved */

TD.catTitle,      /* rutracker.org##TD.catTitle */
TD.row3.pad_4,      /* rutracker.org##TD.row3.pad_4 */
TD[style="padding: 2px 5px 5px;"],      /* rutracker.org##TD[style="padding: 2px 5px 5px;"] */
TD[style="padding: 3px 6px;"],      /* rutracker.org##TD[style="padding: 3px 6px;"] */
TD[style="padding: 6px;"],      /* rutracker.org##TD[style="padding: 6px;"] */
TH.thHead,      /* rutracker.org##TH.thHead */
TD.nav.w100[style="padding-left: 8px;"],      /* rutracker.org##TD.nav.w100[style="padding-left: 8px;"] */

DIV#nav-panel,      /* rutracker.org##DIV#nav-panel */
.row5.tCenter[style="padding: 6px 4px 8px;"]      /* rutracker.org##.row5.tCenter[style="padding: 6px 4px 8px;"] */
{display: none !important;} }


чую, что вот этим экземпляром - "Classic Theme Restorer" - можно было бы (и нужно было бы) попробовать заняться всерьёз,
но ты энтузиазма не проявил (наверно, потому что очень сложно было бы, если вообще возможно), а я настаивать не имею права
 
а заменить кодом "Tab Mix Plus" - это и вовсе, надо полагать, unreal
(хотя если что, и этим я бы не против был бы позаниматься - не сейчас, так потом как-нибудь)
 
 
к слову о "неплохо было бы вовсе без расширений":
      убирание этих двух ад-блоков сразу привело к уменьшению потребления памяти (браузером) почти вдвое: было ~300, стало ~190
 
к слову об "уменьшении потребления памяти":
      твой спасительный код (тот, который заставляет лису грузиться в режиме "off-line")
      сократил потребление памяти (браузером) втрое: было ~900 (жиреющие по ходу дела где-то до 1100-1200), стало ~300
 

надо добавить точку с запятой в самый конец кода

ок, добавил в самый конец BrowserOpenAddonsMgr-кода
 

Я вот для этих двух страниц, например, так написал. Вроде работает

- у меня это никак ничего не дало - все 2727-символы на месте (на обеих страницах)
- код добавлял в userContent.css (затем на всякий случай пробовал и userChrome.css)

Отсутствует

 

№8804-09-2022 22:33:47

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

не страшно ли, если я 0 и оставлю?

Хмм, действительно, можно, наверно, даже вообще без таймаута
input && focus(input);
Просто у меня, при запуске браузера, на активной странице с input'ом не срабатывало.
А оказалось — это сайдбар фокус уводит, что для тебя, полагаю, неактуально.

но ты энтузиазма не проявил

Да вроде какого-то особого разговора про CTR не припомню,
а вот про MW ты целый аналитический трактат выдал.


Копаться в настройках CTR, чтобы вычислить что он делает именно для тебя,
довольно заморочно. Впрочем, попробовал его выключить, а затем подогнать
чтобы на двух тулбарах выглядело похоже как с включённым.
Ну как-то так. Не знаю насколько получилось, и достаточо ли этого.

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

Выделить код

Код:

/* === Nav Bar === */

#urlbar-container {
	min-width: 33ch !important;
}
#back-button,
#PanelUI-button,
#urlbar-container toolbarbutton {
	display: none !important;
}
#urlbar-wrapper {
	clip-path: none !important;
	margin-left: 2px !important;
}
#nav-bar {
	border-color: transparent !important;
}
#navigator-toolbox:not([customizing]) #nav-bar-customization-target {
	-moz-padding-end: 3px !important;
	-moz-margin-end: -3px !important;
}


/* === Tab Bar === */

#TabsToolbar {
	margin-top: 1px !important;
	-moz-box-ordinal-group: 100 !important;
}
#tabbrowser-tabs > arrowscrollbox > scrollbox {
	padding: 0 2px !important;
}
#tabbrowser-tabs > hbox > .tab-drop-indicator {
	margin-bottom: 0 !important;
}

tab.tabbrowser-tab {
	height: 21px !important;
}
tab.tabbrowser-tab[selected] .tab-label {
	color: #7a8bde !important;
}
tab.tabbrowser-tab * {
	min-height: 0 !important;
	background: unset !important;
}
tab.tabbrowser-tab::after,
tab.tabbrowser-tab *::after,
tab.tabbrowser-tab::before,
tab.tabbrowser-tab *::before,
tab.tabbrowser-tab .tab-background-end,
tab.tabbrowser-tab .tab-background-start {
	display: none !important;
}
tab.tabbrowser-tab .tab-background-middle {
	margin: 0 !important;
	border: 0 !important;
}

Отсутствует

 

№8905-09-2022 10:32:14

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

Не знаю насколько получилось, и достаточо ли этого

из нехорошего я сразу заметил появившуюся стрелку вниз (с краю справа в панели вкладок - в первых двух рядах) (всего сейчас там 3 ряда):
эта стрелка заграбастала место в данной панели и сдвинула вперёд вкладки - на 2 штуки
 
при нажатии на стрелку появляется неудобный список вкладок (без номеров) и с тремя строками сверху:
- Tab Groups (Ctrl+Shift+ какой-то символ, не влезший почему-то - по горизонтали)
- Undo Close Tab
- [separator]
 
не успев толком огорчиться, я залез в options, и вот здесь убрал галку:      tab mix plus options > display > tab bar > show on tab bar > all tabs button
и это решило проблему - стрелка исчезла (все вкладки вернулись на свои места, ну или почти вернулись - об этом ниже)
 
 
чуть позднее я заметил ещё одну проблему:
вертикальный скрол-бар теперь не доходит до низа экрана, а обрывается примерно за 14 пикселей до нижнего правого угла экрана
(под ним теперь кусочек страницы, и если там нажать правой кнопкой, то показывается контекстное меню)
то есть, все части скрол-бара на месте, просто выглядит он чуть более коротким (что, конечно, плохо)
 
 
ещё одно наблюдение:
при левом клике в самый верхний правый угол - ранее ставился курсор в начале урл-бара, а теперь не ставится,
то есть, видимо: что-то где-то чуть-чуть сдвинулось (при этом визуально в этой зоне вроде всё норм)
 
вдогонку сюда же:      теперь названия многих вкладок содержат в конце на 1 символ меньше, что как бы совсем нехорошо (я проверил - tab width не сбился: 82-82)
(возможно, решение этой проблемы потянуло бы за собой и решение каких-то других упомянутых нехороших моментов)
 
пробное убирание из кода первой строки   ---   #urlbar-container { min-width: 33ch !important; }   ---   вроде ничего не меняет
 
у некоторых вкладок теперь видна та самая красная полоска (дефектная) (вертикальная), и она не убирается даже при наведении курсора:
этот дефект снова воспроизводится нестабильно
 
ещё одно наблюдение (совсем ерундовое, но хотя бы упоминания стоит):      в пункте "closed" стало 57 строк (было 70, и должно быть 70)
и не знаю, связано ли это с отключенным classic theme restorer, так как подобное точно бывало и ранее       (после его включения: 57 так и осталось)

Отредактировано austri (05-09-2022 10:45:31)

Отсутствует

 

№9005-09-2022 20:09:02

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

сразу заметил появившуюся стрелку вниз

У меня она всегда была с тех пор как завёл эту лису
и профиль с предоставленными настройками и расширениями.

вертикальный скрол-бар теперь не доходит до низа экрана, а обрывается примерно за 14 пикселей до нижнего правого угла экрана

Как-то не очень понятно.
Может это галка «General UI (1)» —> «[✔] Hide Resizer (Windows XP)» из CTR?
Если так, то нужен AGENT_SHEET, причём через nsIStyleSheetService, то есть код в Services.jsm

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

Выделить код

Код:

(css => {
	var url = "data:text/css;charset=utf-8," + encodeURIComponent(css.trim());
	var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
	sss.loadAndRegisterSheet(Services.io.newURI(url, null, null), sss.AGENT_SHEET);
})(`

@namespace html url(http://www.w3.org/1999/xhtml);
@namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

html|html xul|resizer {
	display: none !important;
}

`);

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

Тут бы хорошо какую-нибудь более точную геометрию услышать.
Возможно хватит добавить
#urlbar .textbox-input-box {
    margin: 0 !important;
}

названия многих вкладок содержат в конце на 1 символ меньше, что как бы совсем нехорошо (я проверил - tab width не сбился: 82-82)

86 же вроде было.
Но да, отрицательный margin на конце tab-label'а изменился, непонятно почему.
Его как-то TMP вычисляет. Можно вернуть прежний.
tab.tabbrowser-tab .tab-label {
    -moz-margin-end: -7px !important;
}
Да, кстати, неплохо ещё и это добавить.
Заметил, что если вкладок только на один ряд, то они получаются больше 21px.
#tabbrowser-tabs {
    min-height: 21px !important;
}

у некоторых вкладок теперь видна та самая красная полоска (дефектная) (вертикальная), и она не убирается даже при наведении курсора

Если увижу, попробую ещё потыкать, раз не убирается.
Хотя, я склоняюсь к тому, что это глюк системы. Наткнулся на похожий.
Воспроизводится стабильно.


STR: Создаём ярлык, Объект: C:\WINDOWS\NOTEPAD.EXE -bla
Открываем ярлык на редактирование, ставим курсор между «-» и «bla»,
и добавляем ещё один или несколько минусов (то есть: -------bla).


AR: Между минусами появляется вертикальная рыжая полоска.

в пункте "closed" стало 57 строк (было 70, и должно быть 70)

У меня осталось 70.
В смысле значение настройки browser.sessionstore.max_tabs_undo

Отсутствует

 

№9106-09-2022 00:10:26

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

У меня она всегда была с тех пор как завёл эту лису
и профиль с предоставленными настройками и расширениями

ты, наверно, смотрел мои скрины и обращал внимание на то, что в них никакой подобной стрелки нет

Если так, то нужен AGENT_SHEET, причём через nsIStyleSheetService, то есть код в Services.jsm

код я добавил - скрол-бар теперь в норме

У меня осталось 70

- у меня      browser.sessionstore.max_tabs_undo      тоже сейчас 70
- так понимаю, что в какие-то редкие моменты некий глюк приводит к сокращению этого списка "closed"
      (иногда там вроде и вовсе раз в 5 сокращалось количество строк)
 
      но затем какое-то время (как правило, очень долгое) всё нормально - этот список просто дополняется до 70,
      и 70 держатся до следующей глючной самоподчистки (которая может не наступать неделями - сложно сказать точнее)
 
      вот сейчас я закрыл две новые вкладки, и там теперь не 57, а 59

Тут бы хорошо какую-нибудь более точную геометрию услышать

у меня в лисе клик в самый верхний правый угол - это клик в крайнюю точку экрана (координаты: 1920 на 1)
(это видно на моих полноэкранных скринах - они все 1920 на 1200)
 

Возможно хватит добавить      #urlbar .textbox-input-box { margin: 0 !important; }

добавил - при левом клике в самый верхний правый угол: курсор в начале урл-бара теперь снова ставится (как и до деактивации CTR)

86 же вроде было

да - но это было уже достаточно давно - вот в сообщении от 31-08-2022 07:55:58 я писал:     
- сейчас в "tab mix plus options > tab width":      82 to 82
 
строка      tab.tabbrowser-tab .tab-label { -moz-margin-end: -7px !important; }      вроде бы явно помогает:
как минимум вот этого теперь нет:      "названия многих вкладок содержат в конце на 1 символ меньше"
 
строка      #tabbrowser-tabs { min-height: 21px !important; }      вроде бы только добавляет проблем, например:
в самом конце первого ряда вкладок отчётливо теперь видна эта дефектная красная вертикальная полоска,
а также она видна и в некоторых других вкладкax (например, как минимум в 4-5 вкладках, завершающих первый ряд)
(не убираются наведением курсорa)
      (пока я эту строку деактивировал   ---   пробные 20px или 22px к чему-то хорошему тоже не привели)
 
 
теперь, похоже, каждый раз первая вкладка имеет эту красную полоску в начале (8 вертикальных пикселей перед названием)

Хотя, я склоняюсь к тому, что это глюк системы

- так а почему тогда при включенном CTR этот глюк проявляется радикально слабее?
- склоняюсь к тому, что, во-первых, это точно глюк системы, но и при этом это ещё что-то именно лисье-вкладочное
      (раз теперь оно при наведении курсора не исчезает) (и вот это уже очень серьёзно)
 
из свежих проблем, возникших после выключения CTR, стабильная и неубираемая красная полоска в начале первoй вкладки -
это (на данный момент) вроде бы единственное, что реально не даёт удалить CTR насовсем
(вроде бы чего-то другого плохого я пока не обнаружил)
 
если это может помочь - дай знать, и сделаю все-все скрины из моих настроек в CTR-окнах

Отсутствует

 

№9206-09-2022 06:39:57

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

новые наблюдения:
- горизонтальные промежутки между bookmarks были 14 и остались 14,      a промежуток между последним bookmark'oм и урл-баром был 14, a стал 12
      я добавил      #urlbar { margin-left: 2px !important; }      и это решило проблему
- горизонтальный промежуток после последней вкладки (из первого ряда):      был 7, a стал 8
 
вкладка с названием из 5 букв - "Поиск":     
её самый левый вертикальный ряд (в начале буквы П) теперь дефектно окрашен рыжим (или всё тем же красным) цветом:
это те же 8 вертикальных пикселей (и мне это постоянно видно даже без зума)
 
      если убрать строку      #urlbar .textbox-input-box { margin: 0 !important; }      то красный дефект в начале слова "Поиск" пропадает (не знаю, где тут связь):
      именно в данном случае дефект чуть другой: он виден только если эта вкладка "Поиск" активна (и вроде он тут чуть менее ярко выражен)
 
      но красные дефекты в начале каждого из трёх рядов вкладок точно есть
      (и клик по самому верхнему правому углу больше не ставит курсор в начало урл-бара), так что я пока эту строку деактивирую
 
новый важный вопрос: можно ли кодом навсегда запретить добавление всех троеточий?
они появляются в конце названия вкладки, если текст не влезает, а у меня он не влезает в 99% случаев
 
 
но поскольку возвращать CTR мне крайне не хотелось бы - сильно пытаюсь привести к должному виду тот вариант, который уже имеется,
и в эти часы мне даже (вроде бы) удалось сварганить расклад, получившийся при помощи таких новых строк:
      tab.tabbrowser-tab .tab-label { -moz-margin-start: -11px !important; }
      #TabsToolbar { margin-left: 4px !important; -moz-box-ordinal-group: 100 !important; }
      и ещё была изменена вот эта:      tab.tabbrowser-tab .tab-label { -moz-margin-end: -6px !important; }      (в ней было -7)
 
при этом раскладе:
- нигде не видно красных дефектных вертикальных полосок, а это критически важный момент (гарантий не даю, но я проверял 10-15 раз)
- строку      #urlbar .textbox-input-box { margin: 0 !important; }      вроде бы получилось вернуть без плохих последствий
   и эту тоже:      #tabbrowser-tabs { min-height: 21px !important; }
 
- и вообще с вкладками всё типа стало нормально, но кроме одного большого негативного нюанса:
      горизонтальные промежутки между вкладками теперь стали очень ощутимо меньшими (было 7 пикселей, стал 1)
      (там есть случаи и полегче, но этот самый показательный),
      и на время этой всей настройки - это терпимо/сгодится, но в дальнейшей практике будет откровенно плоховато
 
      не говоря уже о том, что при простом скроле над панелью вкладок: в слове "Поиск" буква П то тоньше становится, то чуть толще (на 1 пиксель), а это ужасно
      и поэтому в строке      tab.tabbrowser-tab .tab-label { -moz-margin-end: -6px !important; }      пришлось вернуть -7
 
- я попробовал поиграться с новой строкой      .tabbrowser-tabs .tab-text { max-width: 82px !important; }      но значения меньше 82 приводят к появлению красных полосок
- я попробовал поиграться с включением "extra spaces on both sides" (в tab-mix-plus > display > tab bar)      но в итоге снова убрал эту галку
 
 
 
из трёх зол (CTR) (красные дефектные вертикальные полоски) (нынешнее текстовое месиво из названий вкладок) я чётко выбираю третий вариант, потому что:
- про CTR я уже почти забыл (и вспоминать очень не хотелось бы), a второй вариант - это кошмар в чистом виде
 
- в третьем варианте: месиво огромное, но оно, вроде, хотя бы на какой-то грани терпимости
       (но по-большому счёту это, конечно, очень и очень нехорошо) (ну хотя бы границы вкладок вполне различимы, и то ладно)
- сильно надеюсь, что у нас ещё каким-то образом получится (не обнажая красных дефектов) увеличить пустые горизонтальные промежутки между вкладками
 
- при актуальном на данный момент виде лисы: мне уже впору добавить (к заданному выше вопросу про троеточия) уточнение по типу такого:
       можно ли кодом сделать из троеточий пятиточия? (или может даже 7-8-точия) и перекрасить их в белый цвет
 
       не исключено, что это могло бы стать особо элегантным обходом всей этой комплексной проблемы
       (при этом, понятное дело, повиснет другой вопрос - что тогда останется от и так недлинных названий вкладок?)

Добавлено 06-09-2022 07:06:53
 
 
вдогонку допишу парочку важных моментов:
 
1) "было 7 пикселей, стал 1            там есть случаи и полегче, но этот самый показательный"
      на самом деле там и -1 даже есть
 
2) самое важное уточнение на эту минуту:
      можно ли кодом просто перекрасить в белый цвет все троеточия? (в названиях всех вкладок)
      (в случае, если троеточия добавлены в конце вкладки по причине невлезания всего названия)
мне пока сложно сказать, но в качестве компромисса, возможно, это стало бы каким-никаким, но выходом

Отредактировано austri (06-09-2022 07:06:53)

Отсутствует

 

№9306-09-2022 15:29:18

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

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

Нет.


Я тут, для предыдущего расклада, пробовал такой код,
и, вроде, вычищает эти рыжие дефекты.

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

Выделить код

Код:

(tc => {
	var {redraw} = window
		.QueryInterface(Ci.nsIInterfaceRequestor)
		.getInterface(Ci.nsIDOMWindowUtils);

	var num = 10, tick = () => {
		try {redraw();} catch(ex) {}
		num-- && requestAnimationFrame(tick);
	}
	tick();

	tc.addEventListener("TabClose", redraw);
	tc.addEventListener("TabAttrModified", redraw);
	window.addEventListener("unload", function unload() {
		window.removeEventListener("unload", unload);
		tc.removeEventListener("TabClose", redraw);
		tc.removeEventListener("TabAttrModified", redraw);
	});
})(gBrowser.tabContainer);

Отсутствует

 

№9407-09-2022 04:16:11

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

и, вроде, вычищает эти рыжие дефекты

- да, похоже, что качественно чистит - я более 10 раз проверял - пока всё нормально
- за этот код отдельное большое спасибо (и за твою огромную отзывчивость тоже)
 
уточнение по поводу изменения в названии вкладки:
- к примеру, активна вкладка "Поиск"
- сразу после запуска лисы: иногда (далеко не каждый раз) название этой вкладки дёргается
- выглядит как что-то типа перезагрузки названия (хотя в этот момент режим-то всегда оф-лайн)
- это происходит примерно в течение половины секунды (не успеваю прочитать)
 
- ранее мы успешно убрали мешающую надпись "Connecting..."      gBrowser.setTabTitleLoading = () => {}
- возможно, в этом случае там происходит что-то подобное вот таким дёрганиям:     
      Поиск > Loading... > Поиск            или             Поиск > Updating... > Поиск
- есть ли способ забетонировать названия вкладок? чтобы вот так не дёргались, 
      и менялись только когда я сам явно перехожу из одной страницы в другую
 
 
жаль, что лиса не обучена командам наподобие чего-то такого:
      tabsarea::-moz-tabtitle { ellipsis: none !important; }     
      /* это бы решало вопрос по многоточию, обладающему весьма сомнительной ценностью */
 
      @-moz-document symbol(u2727|u2828) { display: none !important; }     
      /* это бы решало все вопросы по скрытию любых ненужных символов */
 

могут ли найтись в инспекторе ещё какие-то зацепки?

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

не странно ли? что тот коротенький код у меня вообще никак не сработал
 
 
просто уточнение (хотя бы для моего общего развития):
если бы вдруг каким-то образом появилась желанная мной возможность безболезненно убрать и "tab mix plus" тоже, 
то все те коды из данной темы,
добавленные в файлы этого расширения: click.js и Services.jsm (не помню, было ли что-то ещё из файлов - вроде нет),
можно было бы перенести куда-то в другое место?
      (моё мнение тут роли не играет, но что-то я не очень уверен, что можно было бы перенести -
      хотя бы потому что в лисьей папке больше нигде нет никакого jsm-файла)
 
 
новое наблюдение - совсем мелкое (по поводу строки поиска на ру-трэкере):     
1 раз курсор-таки проставился автоматически, но аж с секундной задержкой
(это, наверно, проц тогда задумался, да? хотя чего ему там думать было - 6 ядер - и чуть ли не в состоянии "idle")
 
 
вот как оно всё выглядит на данный момент (это full-screen 1920-1200):
2022-09-07-02-56-52.png
 
- из расширений активны только 2: "tab mix plus" и "expire history by days" (остальные 14 уже в наличии отсутствия)
- весь верхний ряд (закладки плюс панель адреса) тотально выверен по пикселям
- панель вкладок тоже вполне себе выверена по ним же (ну насколько получилось)
 
- я хоть и успешно пробовал выровнять по вертикали начало первых двух строк:
   там, где первая закладка "Search" и чуть ниже - первая вкладка "(Easy Listenin...",
      но как-то оно выглядит чутка менее интересно (я сдвигал "Search" - и всю эту строку - левее)
      (хотя и итоговый вариант на скрине мне идеальным не вполне кажется, но то такое)
 
кстати, на скрине в списке песен (13 штук) видны диакритические глюки
и это, конечно, нехорошо, но на фоне наличия многочисленных бессмысленных 2727-символов
это уже не кажется совсем большой проблемой (хотя технически это вполне себе проблемка),
 
      причём эти глюки только в списке песен, а в других местах их нет:
      в одном жирном слове над списком песен, и также в названии темы, и также в списке "pages" -
      тaм диакритика отображается корректно

Отсутствует

 

№9508-09-2022 00:40:05

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

да, похоже, что качественно чистит

таки нет - как только дошло дело до реального использования - тут же снова вылезло:
в процессе ручного перетаскивания 11 вкладок (чуть левее) (по одной штуке)
 
2022-09-08-00-33-08.png
 
тут видно в двух вкладках

Отсутствует

 

№9608-09-2022 13:21:50

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

- к примеру, активна вкладка "Поиск"
- сразу после запуска лисы: иногда (далеко не каждый раз) название этой вкладки дёргается
- выглядит как что-то типа перезагрузки названия (хотя в этот момент режим-то всегда оф-лайн)
- это происходит примерно в течение половины секунды (не успеваю прочитать)

Да, что-то такое вижу. У меня там мелькает надпись «Новая вкадка».
Что-то кодов всё больше и больше.

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

Выделить код

Код:

setTimeout(str => gBrowser.setTabTitle = eval(
	`(${gBrowser.setTabTitle})`.replace("var browser = this.getBrowserForTab(aTab);", `$&\n\n${str}\n`)
), 200, 'if (browser.__SS_data && browser.currentURI.spec == "about:blank") return false;');

не странно ли? что тот коротенький код у меня вообще никак не сработал

Даже не знаю. Я сподобился на синтетической странице там проверить, и всё работает.
Только в regexp() вопросителный знак после https добавил — regexp("https?…,
поскольку никакой https, разумеется, там не возможен, только http.
Интересно, а без заключения в блок @-moz-document тоже не работает?

все те коды из данной темы,
добавленные в файлы этого расширения: click.js и Services.jsm (не помню, было ли что-то ещё из файлов - вроде нет),
можно было бы перенести куда-то в другое место?

Конечно же такая возможность есть. Организовать место и добавить куда-нибудь
запускающий код (chrome.manifest, gre/app omni.ja, или классика — config.js).

причём эти глюки только в списке песен, а в других местах их нет:
      в одном жирном слове над списком песен

Просто это разные вещи.
В жирном слове над списком песен — один символ ä ("\u00e4", LATIN SMALL LETTER A WITH DIAERESIS).
А в списке песен — «обычная a», плюс комбинируемый диакритический знак  ̈ ("\u0308", COMBINING DIAERESIS).

как только дошло дело до реального использования - тут же снова вылезло:
в процессе ручного перетаскивания

Действительно. Воспроизвести ещё сложнее. Можно "TabMove" добавить.
Да, ещё ресайз же, и, возможно, скролл. Вот, вписал.

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

Выделить код

Код:

(tc => {
	var {redraw} = window
		.QueryInterface(Ci.nsIInterfaceRequestor)
		.getInterface(Ci.nsIDOMWindowUtils);

	var num = 10, tick = () => {
		try {redraw();} catch(ex) {}
		num-- ? requestAnimationFrame(tick) : listen();
	}
	tick();

	var listen = () => {
		var types = ["TabAttrModified", "TabClose", "TabMove", "scroll"];
		for(var type of types) tc.addEventListener(type, redraw);

		var mo = new MutationObserver(redraw);
		mo.observe(document.documentElement, {attributes: true, attributeFilter: ["width"]});

		window.addEventListener("unload", function unload() {
			mo.disconnect();
			window.removeEventListener("unload", unload);
			for(var type of types) tc.removeEventListener(type, redraw);
		});
	}
})(gBrowser.tabContainer);

Отсутствует

 

№9708-09-2022 20:23:37

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

Да, что-то такое вижу. У меня там мелькает надпись «Новая вкадка»

спасибо за этот мелкий, но действительно важный код - примерно за 9 запусков лисы я ни разу не увидел этого дёргания - буду следить дальше

Что-то кодов всё больше и больше

здесь мне важно только то, чтобы тебя это не сильно напрягало, поскольку я-то отчётливо понимаю, зачем это всё,
и насколько оно важно (а некоторые коды так и вовсе имеют ну совсем огромное значение)
 
(если надо, то могу ничего не писать в этой теме какое-то время, чтобы ты от меня отдохнул - просто дай мне знать)
 

Только в regexp() вопросителный знак после https добавил

Интересно, а без заключения в блок @-moz-document тоже не работает?

я безуспешно пробовал (и в файле userContent.css, и в файле userChrome.css):
       - добавлять вопросительный знак
       - добавлять вопросительный знак      без заключения в блок @-moz-document (чтобы строка начиналась с символов "regexp")
       - не добавлять вопросительный знак      без заключения в блок @-moz-document
 

Конечно же такая возможность есть. Организовать место

- организовать место я вполне мог бы попробовать
      (при появлении чёткой инструкции, как и куда конкретно переместить все коды, ранее добавленные в файлы расширения tab-mix-plus)
 
- на данный момент tab-mix-plus всё ещё вынужденно в наличии - и пока что всё идёт к тому, что убрать его было бы очень тяжело
 
- логика мне подсказывает, что всё равно было бы чуть правильнее добавить независимости (пусть и теоретически),
      и таки переместить все добавленные коды из файлов расширения tab-mix-plus
 

Просто это разные вещи
В жирном слове над списком песен — один символ ä

помню, что на днях мне в какой-то момент удавалось добиться нормального вида диакритики в списке песен ("\u0308"),
я вроде бы что-то экспериментально переключал в шрифтах - просто на несколько секунд
 
вот так сейчас выглядят настройки шрифтов:
2022-09-08-15-24-09.png
 
немного расскажу о старой проблемке, раз уж на этом скрине чётко видны UI-глюки, связанные с "drop-down lists":
это давний глюк - лет 5-7 ему - и связан он, по всей видимости, с какими-то моими тогдашними попытками
убрать визуальную проблему/проблемы с контекстными менюшками, а может, и не только с ними
 
из того, что мне сходу удалось найти/припомнить: например, в userChrome.css есть такая строка:
menupopup > menuitem { margin-right: -2.4em !important }
если её убрать, то часть глюков с "drop-down lists" исчезнет,
но зато в контекстной менюшке "closed" добавится справа (во всех строках) нежелательная пустая короткая зона (шириной в 20 пикселей где-то)
 
данные UI-глюки на самом деле куда серьёзнее, чем просто эти видимые на скрине "drop-down lists" с ненормальной шириной:
всё самое "весёлое" наблюдается при нажатии на эти "drop-down lists", но описать словами это проблематично, да и заскринить тоже,
так как глюк там, как правило, динамичный - и чуть ли не всегда он охватывает весь экран, кроме панели задач - то есть, всю лису
 
подозреваю, что этот невидимый на данном скринe глюк (даже более серьёзный, чем видимая в нескольких местах скрина ненормальная ширина)
вызван какой-то другой моей очень старой настройкой (или в файле userChrome.css, что вероятнее) (или в about:config)
 
позднее всё-таки смогу попробовать сделать 3-4 скрина, если это поможет убрать подобные глюки
 

Действительно. Воспроизвести ещё сложнее. Можно "TabMove" добавить

благодарю за этот улучшенный код - к данному моменту я рыжих дефектов не увидел - буду следить дальше
 
 
новое уточнение просто на всякий случай (а вдруг):
 
- теперь фф всегда стартует в оф-лайне, что замечательно
- далее: при первой активации какой-то уже ранее открытой вкладки - её содержимое грузится из кэша
- есть ли способ сделать так, чтобы эта прогрузка из кэша выполнялась мгновенно? (без 1-2-секундной задержки)
 
могу ошибаться, но, наверно, способа нет и быть не может, однако:
вдруг, например, может быть какой-то обходной путь по типу: сразу после запуска лисы посылать команду
на тихую фоновую прогрузку содержимого вкладок, как будто бы это я их по очереди активирую
(чтобы они там себе сами из кэша прогрузились):
 
      не знаю, может быть даже это и не занимало бы по 1-2 секунды на каждую из, например, 50-70 вкладок,
      а могло бы выполняться скопом чуть ли не за 5-7 секунд (ведь за 1-2 секунды, наверно, совсем вряд ли)

Отсутствует

 

№9808-09-2022 22:44:11

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

если надо, то могу ничего не писать в этой теме какое-то время, чтобы ты от меня отдохнул - просто дай мне знать

Да пиши сколько хочешь. Я же не обязан отвечать.

я безуспешно пробовал (и в файле userContent.css, и в файле userChrome.css):
       - добавлять вопросительный знак
       - добавлять вопросительный знак      без заключения в блок @-moz-document (чтобы строка начиналась с символов "regexp")
       - не добавлять вопросительный знак      без заключения в блок @-moz-document

userContent.css, никакой не userChrome.css. А блок @-moz-document — это вот:
@-moz-document regexp("...") {
    начинка
}
Соответственно, без заключения в блок — только начинка.


Раз не работает, значит, либо у тебя другая результирующая DOM-структура,
и здесь я ничего поделать не могу, дела контентские,
либо где-то нарушение синтаксиса, тогда надо смотреть весь userContent.css

если её убрать, то часть глюков с "drop-down lists" исчезнет,
но зато в контекстной менюшке "closed" добавится справа (во всех строках) нежелательная пустая короткая зона (шириной в 20 пикселей где-то)

menuitem > .menu-accel-container { display: none !important; }

чтобы они там себе сами из кэша прогрузились

Что-то я не пойму. Звучит почти как описание настройки
browser.sessionstore.restore_on_demand
Или имеется в виду что-то более хитрое?

Отсутствует

 

№9909-09-2022 04:00:00

austri
Участник
 
Группа: Members
Зарегистрирован: 20-01-2009
Сообщений: 162
UA: Firefox 68.0

Re: Почему-то никак не удаётся заставить его заработать напрямую

Соответственно, без заключения в блок — только начинка

я безуспешно попробовал добавить в userContent.css эту строку:

Выделить код

Код:

.row1 .post_body > :first-child > :first-child > :first-child > :last-child > var:last-of-type ~ span[style*="line-height"] { display: none !important; }

либо где-то нарушение синтаксиса, тогда надо смотреть весь userContent.css

вот весь небольшой userContent.css:

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

Выделить код

Код:

::-moz-selection, textarea::-moz-selection { background: rgba(176,176,176, 1.0) !important; color: #fcfcfc !important; }

a:focus { text-decoration: none !important; }
a:hover { text-decoration: none !important; }

img { display: none !important; }

@-moz-document domain(rutracker.org){ 
#ped-editor,
#t-top-user-buttons,
.news_title,
.pad_2.hide-for-print,
a.postLink,
.poster_btn.td3,
.poster_info.td1,
.postLink.p-ext-link,
.small.hide-for-print[style="margin: 8px 4px;"],
.small[style="margin: 8px 4px;"],
.td2[colspan="2"],
.topic.hide-for-print,
.topic.w100,
.tRight,
.txtb,
A.med:first-child,
DIV#logo,
DIV#main-nav,
DIV#page_footer,
DIV#thx-block,
DIV.signature,
DIV.spacer_12,
DIV.spacer_4,
DIV.spacer_6,
DIV.spacer_8,
DIV.topmenu,
H1.pagetitle,
SPAN.tor-icon.tor-approved,
SPAN.tor-icon.tor-not-approved,
TD.catTitle,
TD.row3.pad_4,
TD[style="padding: 2px 5px 5px;"],
TD[style="padding: 3px 6px;"],
TD[style="padding: 6px;"],
TH.thHead,
TD.nav.w100[style="padding-left: 8px;"],
DIV#nav-panel,
.row5.tCenter[style="padding: 6px 4px 8px;"]

{ display: none !important; } }


 

menuitem > .menu-accel-container { display: none !important; }

- спасибо, я добавил эту строку
- a вот эту убрал:      menupopup > menuitem { margin-right: -2.4em !important }
- теперь "drop-down lists" лишились первого (сразу видимого) глюка
- больше у меня в файле userChrome.css нет строк с "menupopup"
 
- по поводу второго глюка (масштабного) (как-то терпимого, но явно серьёзного) - вот 4 скрина, сделанные в течение 7 секунд:

скрытый текст
1) перед кликом на первый список "Latin" (пока всё нормально):
2022-09-09-01-08-13.png
 
 
2) где-то через секунду после клика (начало прорисовки справа налево):
2022-09-09-01-08-16.png
 
 
3) ещё через 2 секунды (прорисовка справа налево продолжается):
2022-09-09-01-08-18.png
 
 
4) ещё через 2 секунды (глюк уже прорисовался - по всей горизонтали экрана) (и глюк-таки полноэкранный) (a дочернее окно "Fonts" неслабо им покусано):
2022-09-09-01-08-20.png
 
и примерно тоже самое наблюдается у меня годами при клике на любой "drop-down list" в лисе (или почти любой: тут сложно сказать)

вот на всякий случай весь userChrome.css (128 строк) (5,96 KB):
      полагаю, что найдётся и лишнее что-то, и может даже ошибки какие-то,
      например, строчка      /* AGENT_SHEET */      меня слегка смущает: подозреваю, что она тут и безвредна, и бессмысленна, но она тут уже давно,
      а этот файл я целенаправленно ещё не чистил (вот, собственно, готов почистить, если буду знать наверняка, что именно надо исправить)
 
 

Что-то я не пойму. Звучит почти как описание настройки

вот этa настройка:      options > don't load tabs until selected      у меня годами всегда былa выключенa,
но ранее в эти дни/недели я её включил (и не успел привыкнуть к ней), а сейчас вот - после этого твоего сообщения - снова выключил,
      ну и думаю, какой вариант выбрать в итоге, ведь так фф после своей загрузки: аж 30 секунд чутка нагружает и проц, и винт
      (но винт совсем немного - на 20-25 мб)
 
ещё такой нюанс про "don't load tabs until selected":
- если включить, то после запуска лисы активная вкладка сразу мгновенно отображается прогруженной, что отлично
- если выключить, то первое, что я вижу после запуска лисы - это примерно секундноe прогружение активной вкладки, что плохо
 

Или имеется в виду что-то более хитрое?

теперь, наверно, только что-то типа такого может быть любопытным:
здесь пишут (статья "Firefox Restore Session: Tabs Do Not Automatically Load"):
"Firefox finally corrected this issue by loading all tabs one-by-one instead of loading them all at once"
      и вот возможно, что как раз "loading them all at once" - это то, что могло бы мне пригодиться (раз уж фф всё равно стартует в оф-лайне)

Отсутствует

 

№10010-09-2022 13:07:15

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

Re: Почему-то никак не удаётся заставить его заработать напрямую

austri пишет

вот 4 скрина, сделанные в течение 7 секунд

Это лютая жесть! Жаль что у меня такое не воспроизводится,
было бы интересно попробовать разобраться в чём дело.

может даже ошибки какие-то

Например, мне трудно сказать что значит это «прихорошить и скрыть»:
label.statuspanel-label
{  padding-top: 0 !important;
    padding-bottom: 1 !important;
    border: 0 !important;
    background-image: none !important;
    background-color: none !important;
    color: #000000 !important;
display: none !important; }


однако, «padding-bottom: 1 !important;» — один что?
«background-color: none !important;» — либо цвет, либо unset/inherit/initial, но только не none.

строчка      /* AGENT_SHEET */      меня слегка смущает

Если комментарий смущает и не нужен, то его можно удалить.

аж 30 секунд чутка нагружает

Ну да, логично. Настройку не зря придумали.

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

Это аргумент, хоть мне и не получится увидеть.
Mожно при включенной попробовать как сказано:
«посылать команду на тихую фоновую прогрузку содержимого вкладок, как будто бы это я их по очереди активирую».

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

Выделить код

Код:

Cu.now() < 1e4 && Services.prefs.getBoolPref("browser.sessionstore.restore_on_demand") && (tc => {
	var lst = e => {
		window.removeEventListener("unload", lst);
		tc.removeEventListener("SSTabRestored", lst);
		if (e.type.startsWith("u")) return;

		var tabs = Array.from(gBrowser.tabs);
		tabs.length > 1 && (function rel(tab) {
			if (Services.io.offline) {
				try {
					tab.hasAttribute("pending") && !tab.closing && tab.linkedBrowser.reload();
				} catch(ex) {}
				var next = tabs.shift();
				next && setTimeout(rel, 50, next);
			}
		})(tabs[0]);
	}
	window.addEventListener("unload", lst);
	tc.addEventListener("SSTabRestored", lst);
})(gBrowser.tabContainer);

Отсутствует

 

Board footer

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