Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

Schrauberecke: Hier geht es um optische und funktionelle Veränderungen (ohne Themes oder Personas) von Firefox oder von Webseiten per CSS-Codes oder JavaScript.
Antworten
Foxfailure
Mitglied
Beiträge: 81
Registriert: Sa, 30. Jun 2007 10:05

Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#1

Beitrag von Foxfailure Themen-Starter » Fr, 18. Mai 2018 7:40

Hallo,
ich sortiere in meinem FF 60.0.1. die Kontextmenüeinträge.
Wie bereits hier wunderbar erklärt, kann man die Reihenfolge der Menüeinträge festlegen, indem man im Custom-CSS den Identifiern (CSS-Selektoren) mittels der Anweisung "-moz-box-ordinal-group:" eine Position zuweist.

Merkwürdigerweise kommen im Quelltext für das Kontextmenü immer wieder "neue" Identifier für denselben Menüeintrag eines Add-Ons hinzu. Irgendeine Routine hängt einfach eine Zahl hinten an den Indentifier. In meinem unten zitierten CSS-Quellcode sieht man bspw., dass der Menüeintrag des Add-Ons Context Search des Autors Olivier de Broqueville mittlerweile mit dem Zähler 4 im Quellcode für das Kontextmenü auftaucht. Also musste ich alle diese hochgezählten Identifier in meinem Custom-CSS eintragen.

Heute war ebendieser Kontextmenüeintrag wieder nicht an der gewünschten obersten Position in meinem FF-Kontextmenü. Als ich den Indentifier identifizierte, hatte er den Zähler 8, also "olivier_debroqueville_gmail_com_8". Das nervt gewaltig.
Wie unten im Code zu sehen, zählen auch andere Add-Ons wie Print-Edit (printedit-we_dw-dev_5) die Identifier mit einer Ziffer nach oben.
Wie kann man das in den Griff bekommen?

Code: Alles auswählen

/*AGENT_SHEET*/

/*********************************************************************************************
  simpleMenuWizard: Firefox 57+ userChrome.css tweaks to remove context menu items.
  https://github.com/stonecrusher/simpleMenuWizard
**********************************************************************************************

/*** select-context.css ***/

#olivier_debroqueville_gmail_com_1	   {-moz-box-ordinal-group: 0 !important;} /*context-search*/
#olivier_debroqueville_gmail_com_2	   {-moz-box-ordinal-group: 0 !important;} /*context-search*/
#olivier_debroqueville_gmail_com_3	   {-moz-box-ordinal-group: 0 !important;} /*context-search*/
#olivier_debroqueville_gmail_com_4	   {-moz-box-ordinal-group: 0 !important;} /*context-search*/

#context-paste			                   {-moz-box-ordinal-group: 1 !important;} /*einfügen*/

#contentAreaContextMenu > menuseparator:nth-child(90) {-moz-box-ordinal-group: 1 !important;} /*Separator*/

#printedit-we_dw-dev_1                       {-moz-box-ordinal-group: 2 !important;} 
#printedit-we_dw-dev_2			  {-moz-box-ordinal-group: 2 !important;} 
#printedit-we_dw-dev_3			  {-moz-box-ordinal-group: 2 !important;} 
#printedit-we_dw-dev_4			  {-moz-box-ordinal-group: 2 !important;}
#printedit-we_dw-dev_5			  {-moz-box-ordinal-group: 2 !important;}
#context-copy                    		  {-moz-box-ordinal-group: 2 !important;} /*Copy*/

#context-sep-selectall                          {-moz-box-ordinal-group: 3 !important;} /*Separator*/	

EffPeh
Senior-Mitglied
Beiträge: 1573
Registriert: Mi, 04. Okt 2017 10:22

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#2

Beitrag von EffPeh » Fr, 18. Mai 2018 9:56

Du kannst so genannte Attribut-Selektoren benutzen, also z.B.

Code: Alles auswählen

[id^=printedit-we_dw-dev] {
    -moz-box-ordinal-group: 2 !important;
}
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Benutzeravatar
2002Andreas
Moderator
Beiträge: 38555
Registriert: Fr, 04. Jul 2008 19:25
Wohnort: Niedersachsen

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#3

Beitrag von 2002Andreas » Fr, 18. Mai 2018 10:07

Statt z.B. dieser Bezeichnung:

Code: Alles auswählen

id="olivier_debroqueville_gmail_com-menuitem-2"
Den Eintrag direkt per Namen ansprechen:
Für z.B. Ask immer ganz oben sollte so funktionieren:

Code: Alles auswählen

menuitem[label="Ask"]{
	-moz-box-ordinal-group: 0 !important;} 
}
Mit freundlichem Gruß
Andreas
Mein System    Meine Add-ons

Foxfailure
Mitglied
Beiträge: 81
Registriert: Sa, 30. Jun 2007 10:05

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#4

Beitrag von Foxfailure Themen-Starter » Fr, 18. Mai 2018 18:34

Vielen Dank für beide Tipps, die ich auch beide testete.

Wenn ich die Einträge nur über [id^=...] anspreche, kann ich immerhin auch die Separatoren (Trennlinien) ansprechen.

Code: Alles auswählen

[id^=olivier_debroqueville_gmail_com]{-moz-box-ordinal-group: 0 !important;}

[id^=context-sep-selectall]		{-moz-box-ordinal-group: 1 !important;}

[id=context-copy]			{-moz-box-ordinal-group: 2 !important;}
[id=context-paste]			{-moz-box-ordinal-group: 2 !important;}

[id^=printedit-we_dw-dev]		 {-moz-box-ordinal-group: 3 !important;}

[id^=ublock0_raymondhill_net_uBlock0-blockElement] {-moz-box-ordinal-group: 4 !important;}

[id^=inspect-separator]		{-moz-box-ordinal-group: 5 !important;}

[id^=context-inspect]			{-moz-box-ordinal-group: 6 !important;}/*Element untersuchen (Q)*/
	
#olivier_debroqueville_gmail_com_cs-multitab,
#olivier_debroqueville_gmail_com_cs-google-site,
#olivier_debroqueville_gmail_com_cs-options,
#olivier_debroqueville_gmail_com_cs-separator,
#context-viewpartialsource-selection,  /* Auswahl-Quelltext anzeigen */
menu.menu-iconic:nth-child(91),
[id^=savepage-we_dw-dev],
#leave_this_dummy_here
    { display:none !important; }
Allerdings funktioniert die Reihenfolge der Einträge ziemlich zufällig. Ich kann den FF dreimal neu starten und erhalte 3 unterschiedliche Reihenfolgen im Kontextmenü, manchmal auch in der gewünschte Reihenfolge. Ich kann den FF aber auch dreimal neu starten und erhalte 3 mal die gleiche falsche Reihenfolge.

Wenn ich die Einträge über ihre Label menuitem[label="..."] anspreche, erreiche ich offenbar stabil die gewünschte Reihenfolge.

Code: Alles auswählen

menuitem[label="Context Search"]        {-moz-box-ordinal-group: 0 !important;}

[id^=context-sep-selectall]				{-moz-box-ordinal-group: 1 !important;}

menuitem[label="Kopieren"]              {-moz-box-ordinal-group: 2 !important;}
menuitem[label="Einfügen"]              {-moz-box-ordinal-group: 2 !important;}

menuitem[label="Print Edit WE"]         {-moz-box-ordinal-group: 3 !important;}

menuitem[label="Element blockieren"]	{-moz-box-ordinal-group: 4 !important;}
[id=inspect-separator]					{-moz-box-ordinal-group: 5 !important;}
menuitem[label="Element untersuchen"]	{-moz-box-ordinal-group: 6 !important;}
	
#olivier_debroqueville_gmail_com_cs-multitab,
#olivier_debroqueville_gmail_com_cs-google-site,
#olivier_debroqueville_gmail_com_cs-options,
#olivier_debroqueville_gmail_com_cs-separator,
#context-viewpartialsource-selection,  /* Auswahl-Quelltext anzeigen */
menu.menu-iconic:nth-child(91),
menuitem[label="Save Page WE"],
#leave_this_dummy_here
    { display:none !important; }
Allerdings fühlen sich offenbar die Trennlinien nicht angesprochen, denn die einzige Trennlinie, die dann überhaupt im Kontextmenü erscheint, liegt dann sinnloserweise ganz oben. Ich zeige das mal mit einem Bild.
Kann man die Trennlinien irgendwie auch über ein Label menuitem[label="..."] ansprechen?
Dateianhänge
Label Kontextmenü im Text.png
Label Kontextmenü im Text.png (5.24 KiB) 463 mal betrachtet

Benutzeravatar
Endor
Senior-Mitglied
Beiträge: 12085
Registriert: Fr, 20. Apr 2007 15:41
Wohnort: Irgendwo ganz weit im Süden und doch mitten in den Bergen
Kontaktdaten:

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#5

Beitrag von Endor » Fr, 18. Mai 2018 18:55

Hier mal ein paar ids von den Separatoren aus dem Rechtklick Kontextmenü:

Code: Alles auswählen

#context-sep-selectall,
#inspect-separator,
#context-sep-viewsource,
#context-sep-viewbgimage,
#context-sep-navigation,
#context-sep-sendpagetodevice
Hoffe,dass einer davon passt.
Mfg.
Endor
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/Firefox/63.0b5
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:64.0) Gecko/Firefox/64.0a1

OS: Windows 7 H. P. 64 Bit Versions Info Stand 06.09.2018
Kein Support per PN. Fragen bitte im Forum stellen!

EffPeh
Senior-Mitglied
Beiträge: 1573
Registriert: Mi, 04. Okt 2017 10:22

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#6

Beitrag von EffPeh » Fr, 18. Mai 2018 19:11

Foxfailure hat geschrieben:
Fr, 18. Mai 2018 18:34
[...]
Setze mal die IDs in Anführungszeichen. Ich habe das in meinem Post versäumt zu tun.
Aber die MDN-Seite zeigt das eigentlich auch mit Anführungszeichen... :wink:

Code: Alles auswählen

[id^="printedit-we_dw-dev"] {
    -moz-box-ordinal-group: 2 !important;
}
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Foxfailure
Mitglied
Beiträge: 81
Registriert: Sa, 30. Jun 2007 10:05

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#7

Beitrag von Foxfailure Themen-Starter » So, 20. Mai 2018 20:13

Also ... in ob man die id-Selektoren in Anführungsstriche setzt oder nicht, scheint keine Rolle zu spielen.

Ich muss an dieser Stelle auch ergänzen, dass sich mein Problem konkret auf jenes Kontextmenü bezieht, wenn ich irgendwelchen Text markiere und dann mit rechtem Mausklick das Kontextmenü aufrufe. Ich bearbeite hier also konkret die Datei select-context.css

Mit [id^=...] ist die Reihenfolge im Kontextmenü nun mehr oder minder stabil. Immerhin ein einziger Separator lässt sich damit auch sortieren, nämlich context-sep-selectall. Alle anderen Separatoren sind im "Select"-Kontext entweder gar nicht ansprechbar oder sträuben sich beharrlich, wie bspw. inspect-separator.

Was mich jedoch nach wie vor gewaltig irritiert, ist, dass sich speziell das Select-Kontextmenü nach FF-Neustart unterschiedlich aufbaut, jedenfalls manchmal, manchmal auch öfter. Manchmal fehlt der für mich wichtigste Kontextmenüeintrag "Context Search" 5(!) FF-Neustarts lang. Das bedeutet, erst beim 6. Neustart erscheint "Context Search" wieder im Kontextmenü. Aber eben nur manchmal. Da scheint doch was an der FF-Rendering-Engine faul zu sein, wenn FF seine eigene Benutzeroberfläche oder die der Webextensions nicht gleichbleibend sorgfältig parst.

EffPeh
Senior-Mitglied
Beiträge: 1573
Registriert: Mi, 04. Okt 2017 10:22

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#8

Beitrag von EffPeh » So, 20. Mai 2018 22:38

Also ich habe mir das jetzt einmal angeschaut und so wie ich das sehe, funktioniert die "Sortierung" mit -moz-box-ordinal-group nicht (mehr). "Nicht mehr" deshalb, weil mir persönlich die Reihenfolge im Kontext-Menü völlig egal ist, da ich es nur nutze, wenn nichts anderes mehr geht und ich nie versucht habe, die Reihenfolge zu ändern. Ich weiss also nicht, ob das jemals zuverlässig funktioniert hat.
Mit Sicherheit kann ich aber jetzt sagen, das es - zumindest in Version 61 - so nicht zuverlässig arbeitet.
Als Objekte habe ich mir die Einträge von zwei Extensions angeschaut, Swift Selection Search und Deep Translator.
Während Swift Selection Search sich mit

Code: Alles auswählen

[id^="jid1-kdtticj6wxvafa_jetpack-menuitem-_sss"] {
	-moz-box-ordinal-group: 0 !important;
}
direkt dazu bewegen liess, den ersten Platz in meinem Kontext-Menü einzunehmen, konnte ich Deep Translator weder mit

Code: Alles auswählen

[id^="deeptranslator_pkos_com-menuitem-_DeepTranslator"] {
	-moz-box-ordinal-group: 1 !important;
}
noch mit

Code: Alles auswählen

menuitem[label="Translate this"] {
	-moz-box-ordinal-group: 1 !important;
}
dazu zwingen, seinen Platz an letzter Stelle im Kontext-Menü zu räumen.
Ergo ist für mich -moz-box-ordinal-group nicht zuverlässig und nicht oder nicht alleine für die Positionierung verantwortlich.
Foxfailure hat geschrieben:
So, 20. Mai 2018 20:13
[...]Ich bearbeite hier also konkret die Datei select-context.css[...]
Und woher nimmst du diese Datei?... :-??
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Foxfailure
Mitglied
Beiträge: 81
Registriert: Sa, 30. Jun 2007 10:05

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#9

Beitrag von Foxfailure Themen-Starter » Mo, 21. Mai 2018 11:56

EffPeh hat geschrieben:
So, 20. Mai 2018 22:38
... so wie ich das sehe, funktioniert die "Sortierung" mit -moz-box-ordinal-group nicht (mehr).
Danke. Das ist zumindest ein mich beruhigendes Zeichen, dass die Fehlerursache außerhalb meines Unvermögens zu liegen scheint.

Mir ist die Reihenfolge im Kontextmenü sehr wichtig, weil
a) kurze Mausbewegungen Zeit sparen
und
b) ich die nötigen Mausbewegungen nach einer Weile eingeübt, also quasi konditioniert habe.
Wenn dann plötzlich das Menü nicht mehr dort ist, wo ich es erwartete, nervt das und kostet Zeit.
EffPeh hat geschrieben:
So, 20. Mai 2018 22:38
Foxfailure hat geschrieben:
So, 20. Mai 2018 20:13
die Datei select-context.css
Und woher nimmst du diese Datei?... :-??
Na, aus stonecrushers Github-Repository.

EffPeh
Senior-Mitglied
Beiträge: 1573
Registriert: Mi, 04. Okt 2017 10:22

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#10

Beitrag von EffPeh » Mo, 21. Mai 2018 13:23

Foxfailure hat geschrieben:
Mo, 21. Mai 2018 11:56
Und woher nimmst du diese Datei?... :-??
Na, aus stonecrushers Github-Repository.
Achso. Also schon eine User-CSS-Datei. :)
Windows 10 | FF 62.0 (64-Bit) / FF 61.0 (64-Bit) / FF 63.0 (64-Bit)

Benutzeravatar
aborix
Senior-Mitglied
Beiträge: 4103
Registriert: So, 06. Sep 2009 0:57

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#11

Beitrag von aborix » Mo, 21. Mai 2018 14:17

Flexbox ist eine Alternative zu -moz-box-ordinal-group.

MDN - Ordering Flex Items

Benutzeravatar
Speravir
Senior-Mitglied
Beiträge: 854
Registriert: Do, 15. Dez 2005 1:33
Wohnort: Potsdam

Re: Kontextmenüeinträge, Identifier von Add-Ons mit Zähler/Nr. sortieren

#12

Beitrag von Speravir » Di, 29. Mai 2018 20:12

aborix hat geschrieben:
Mo, 21. Mai 2018 14:17
Flexbox ist eine Alternative zu -moz-box-ordinal-group.
Also, bei mir funktioniert es bestens mit -moz-box-ordinal-group, nicht aber mit der Flexbox-Variante. Zunächst dachte ich, man müsste ja erst einmal festlegen, dass es sich um eine Flexbox handeln soll, das Ergebnis sah aber schlimm aus – das Kontextmenü wird in die Titlelleiste integriert (ich benutze CustomCSSfor Fx mit Anpassungen u.a. für den Titel). Die Regeln sahen so aus:

Code: Alles auswählen

#contentAreaContextMenu {
	display: flex !important;
	flex-direction: column !important;
}

menu[id*="5dd73bb9-e728-4d1e-990b-c77d8e03670f"] { order: 1 !important; } /* Contextsearch */
menu[id*="ecdeca5f-93eb-4757-8cad-9c4ab7568649"] { order: 2 !important; } /* Link Text an Location Copier */
menu[id^="s3google_translator-menuitem"] { order: 3 !important; }
menuitem[id^="ublock0_raymondhill_net-menuitem"] { order: 4 !important; }
Ohne die Festlegung für das Kontextmenü erfolgt bei mir aber keine Beeinflussung.
Steffen "Speravir"
---
Spiro, ergo sum.
Avatar: Vorlage Fox Head and Tail Tribal by Majykal-Melodi on DeviantArt, bearbeitet (Lizenz: CC by-sa 3.0)

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast