1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. FuchsFan

Beiträge von FuchsFan

  • Addons Manager Code anpassen

    • FuchsFan
    • 30. Dezember 2021 um 18:11

    Dharkness hat ja hier RE: Addons Manager Code anpassen den Code für seinen Addon-Manager veröffentlicht. Eine echt gute Leistung, lobenswert. :thumbup:

    Er weiß, dass ich es gern etwas bunter habe, mich blenden die hellen Teile (z.B. Schrift) immer so bei dem schwarzen Hintergrund ;) :) . Mag am Alter, oder auch an der guten Brille liegen. Ich habe mal seinen Code etwas umgekrempelt und farblich neu angepasst, eventuell finden sich hier User, denen es so auch zusagt.

    Hier dann der veränderte Code (habe es zu Weihnachten nicht mehr geschafft):

    CSS
    /* Profil: alle Versionen */
    
    @-moz-document url("about:addons") {
       * { border-radius: 0 !important;
    }
    
    body { 
       counter-reset: section;
    }
    
    /* Add-ons-Manager linke Seite (Sidebar) Hintergrund */
    #sidebar {
       background: linear-gradient(to bottom right, white,#acacac,#f2f3f4,#acacac, #f2f3f4,#acacac) !important; 
       border-right: 2px solid grey !important;
    }    
        
    /* Add-ons-Manager rechte Seite Hintergrund */
    #full #content {
       background: #bfc1c2 !important;
    }
    
    /* fortlaufende Nummerierung mit Border unter Aktiviert */
    #main > addon-list:nth-child(1) > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2)::before {
       font-weight: bold !important;
       text-decoration: underline !important;
       counter-increment: section;
       content: counter(section, decimal-leading-zero)".";
       border-top: 2px solid #217B22 !important;
       border-right: 2px solid #217B22 !important;
       color: #217B22 !important;
       padding-right: 5px !important;
       margin-top: 0px !important;
       padding-left: 5px !important;
    }
    
    #main[current-view="updates"] > addon-list:nth-child(1) > section[section="0"] > addon-card:nth-child(n+2) > div.addon[active="false"]:nth-child(1) > div:nth-child(2)::before {
       border-right: 2px solid #C72F2E !important;
       color: #C72F2E !important;
    }
    #main[current-view="updates"] > addon-list:nth-child(1) > section[section="0"] > addon-card:nth-child(n+2) > div.addon[active="false"]:nth-child(1) > div:nth-child(2):hover::before {
       border-right: 2px solid #C72F2E !important;
       color: #C72F2E !important;
    }
    #main > addon-list:nth-child(1) > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1):hover > div:nth-child(2)::before {
       color: #FFF !important;
    }
    
    /* fortlaufende Nummerierung mit Border bei Deaktiviert */
    #main > addon-list:nth-child(1) > section[section="1"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2)::before {
       font-weight: bold !important;
       text-decoration: underline !important;
       counter-increment: section;
       content: counter(section, decimal-leading-zero)".";
       border-top: 2px solid #C72F2E !important;
       border-right: 2px solid #C72F2E !important;
       color: #C72F2E !important;
       padding-right: 5px !important;
       margin-top: 0px !important;
       padding-left: 5px !important;
    }
    
    /* senkrechte Linie hinter fortlaufender Nummerierung nach unten erweitert / außer bei Themes */
    #main > addon-list:not([type="theme"]) > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2)::before,
    #main > addon-list:not([type="theme"]) > section[section="1"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2)::before {
       margin-bottom: -14px !important;
    }
    /* kein Border oben / außer bei Themes */
    #main > addon-list:not([type="theme"]) > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2)::before,
    #main > addon-list:not([type="theme"]) > section[section="1"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2)::before {
       border-top: 0 !important;
    }
    /* Border rechts / außer bei Themes */
    #main > addon-list:not([type="theme"]) > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2):hover::before,
    #main > addon-list:not([type="theme"]) > section[section="1"] > addon-card:nth-child(n+2) > div:nth-child(1) > div:nth-child(2):hover::before {
       border-right: 2px solid #0060DF !important;
    }
    /* Border bei Themes */
    #main > addon-list[type="theme"] > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1):hover > div:nth-child(2)::before,
    #main > addon-list[type="theme"] > section[section="1"] > addon-card:nth-child(n+2) > div:nth-child(1):hover > div:nth-child(2)::before {
       border-top: 2px solid #0060DF !important;
       border-right: 2px solid #0060DF !important;
    }
    #main > addon-list:nth-child(1) > section[section="0"] > addon-card:nth-child(n+2) > div:nth-child(1):hover > div:nth-child(2)::before,
    #main > addon-list:nth-child(1) > section[section="1"] > addon-card:nth-child(n+2) > div:nth-child(1):hover > div:nth-child(2)::before {
       color: #FFF !important;
    }
    
    div:not([current-view="updates"]) .addon-name-link[title]::after, div:not([current-view="updates"]) .addon-name[title]::after {
       display: block !important;
       content: attr(title) !important;
       margin-top: -22px !important;
    }
    
    /* unter Deaktiviert bei Plugin u. Wörterbücher keine Border */
    addon-list[type="plugin"] section[section="1"],
    addon-list[type="dictionary"] section[section="1"] {
       box-shadow: none !important;
       border-radius: 0 !important;
       border: none !important;
    }
    
    /*====== links in Sidebar alle Button =======*/
    
    /* graue Linie über u. unter den Button */
    #categories {
       border-top: 2px solid #B2B2B2 !important;
       border-bottom: 2px solid #B2B2B2 !important;
       padding: 0 0 5px 5px !important;
       margin: 81px 0 0 0 !important;
    }
    #categories .category {
       min-height: 40px !important;
       border-radius: 0 !important;
       border: 0 !important;
       border-top: 2px solid white !important;
       border-bottom: 2px solid white !important;
       border-left: 2px solid white !important;
       background-position-y: 6px !important;
       background-color: #B8B8B8 !important;
       margin-inline-start: 0px !important;
       margin-top: 5px !important;
       margin-right: 0 !important;
    }
    /* blendet alle Button ein / auch noch ausgeblendete durch Mozilla */
    #categories .category[hidden=""] { 
       display: flex !important;
    }
    /* Button Site Permission ausgeblendet */
    #categories .category[name="sitepermission"] {
       display: none !important;
    }
    /* der aktive Button / Hintergrund */
    #categories .category[selected=""] {
       fill: #FFF !important;
       background-color: #006800 !important;
    }
    #categories .category[name="recent-updates"] .category-name {
       font-size: 13px !important;
    }
    #categories .category[selected=""] .category-name {
       color: #FFF !important;
    }
    #categories .category:hover,
    #categories .category[selected=""]:hover {
       fill: #000 !important;
       background-color: #D1E2F2 !important;
    }
    #categories .category:hover .category-name,
    #categories .category[selected=""]:hover .category-name {
       color: #000 !important;
    }
    /* Farbe der Icons */
    #categories .category[name="discover"] {
       fill: lightblue !important;
    }
    #categories .category[name="discover"][aria-selected="true"] {
       fill: lightblue !important;
    }
    #categories .category[name="discover"]:hover,
    #categories .category[name="discover"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="extension"] {
       fill: gold !important;
    }
    #categories .category[name="extension"][aria-selected="true"] {
       fill: gold !important;
    }
    #categories .category[name="extension"]:hover,
    #categories .category[name="extension"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="theme"] {
       fill: #FF00FF !important;
    }
    #categories .category[name="theme"][aria-selected="true"] {
       fill: #FF00FF !important;
    }
    #categories .category[name="theme"]:hover,
    #categories .category[name="theme"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="plugin"] {
       fill: red !important;
    }
    #categories .category[name="plugin"][aria-selected="true"] {
       fill: red !important;
    }
    #categories .category[name="plugin"]:hover,
    #categories .category[name="plugin"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="dictionary"] {
       fill: lime !important;
    }
    #categories .category[name="dictionary"][aria-selected="true"] {
       fill: lime !important;
    }
    #categories .category[name="dictionary"]:hover,
    #categories .category[name="dictionary"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="locale"] {
       fill: brown !important;
    }
    #categories .category[name="locale"][aria-selected="true"] {
       fill: brown !important;
    }
    #categories .category[name="locale"]:hover,
    #categories .category[name="locale"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="available-updates"] {
       fill: blue !important;
    }
    #categories .category[name="available-updates"][aria-selected="true"] {
       fill: grey !important;
    }
    #categories .category[name="available-updates"]:hover,
    #categories .category[name="available-updates"][aria-selected="true"]:hover {
       fill: black !important;
    }
    #categories .category[name="recent-updates"] {
       fill: #2B9AFF !important;
    }
    #categories .category[name="recent-updates"][aria-selected="true"] {
       fill: #2B9AFF !important;
    }
    #categories .category[name="recent-updates"]:hover,
    #categories .category[name="recent-updates"][aria-selected="true"]:hover {
       fill: black !important;
    }
    
    .category[badge-count]::after { 
       background-color: #006FC2  !important;
       color: #fff;
       border-radius: 0 !important;
    }
    
    /* aktiv, dann werden Einstellungen u. Hilfe nach oben verlagert */ 
    #sidebar div.spacer:nth-child(2) {
       display: none !important;
    }
    
    /* Linie unter letztem Button (Hilfe) */
    ul.sidebar-footer-list {
       border-bottom: 2px solid #B2B2B2 !important;
       padding: 0 6px 5px 5px !important;
       margin-block: 0 !important;
       margin-inline: 0 !important;
    }
    
    /* Border um Button Einstellungen u. Hilfe / Hintergrund */
    ul.sidebar-footer-list > li {
       background-color: #B8B8B8 !important;
       border-top: 2px solid white !important;
       border-bottom: 2px solid white !important;
       border-left: 2px solid white !important;
       margin-top: 5px !important;
       margin-right: -8px !important;
    }
    /* Button Einstellungen u. Hilfe / Hintergrund bei Hover */
    ul.sidebar-footer-list > li:hover {
       background-color: #D1E2F2 !important;
    }
    /* Farbe des Icons bei Hilfe */
    ul.sidebar-footer-list > li .sidebar-footer-icon {
       fill: red !important;
    }
    /* Hover-Farbe des Icons bei Hilfe */
    ul.sidebar-footer-list > li:hover .sidebar-footer-icon {
       fill: blue !important;
    }
    ul.sidebar-footer-list > li:hover .sidebar-footer-label {
       color: #000 !important;
    }
    /* Button Einstellungen */
    ul.sidebar-footer-list > li #preferencesButton .sidebar-footer-icon {
       fill: green !important;
    }
    ul.sidebar-footer-list > li:hover #preferencesButton .sidebar-footer-icon {
       fill: blue !important;
    }
    
    .sidebar-footer-link:hover {
       background: none !important;
       background-image: none !important;
       background-color: unset !important;
    }
    
    #page-header {  
       z-index: 100 !important;
       position: fixed !important;
       width: 100% !important;
       background: gainsboro !important;
    }
    
    /* Hintergrund Box rechts oben */
    addon-page-header#page-header .sticky-container {
       background: linear-gradient(to bottom right, white, #acacac, #f2f3f4, #acacac, #f2f3f4, #acacac, #f2f3f4) !important;
       border-radius: 0px !important;
       border-bottom: 1px solid #787878 !important;
       padding-top: 5px !important;
       padding-bottom: 2px !important;
       width: 1685px !important;
       margin-top: -5px !important;
    }
    
    .main-search,
    .main-heading {
       appearance: none !important;
       background-color: lightgrey !important;
       min-width: 500px !important;
       max-width: 500px !important;
       border: 1px solid grey !important;
       padding: 1px 1px 1px 4px !important;
       margin: 5px 0 5px 5px !important;
    }
    addon-page-header#page-header[current-view="detail"] .main-heading {
       min-width: 503px !important;
       max-width: 503px !important;
    }
    addon-page-header[type="detail"] .main-heading {
       min-width: 528px !important;
       max-width: 528px !important;
       padding: 1px !important;
       border: 1px solid grey !important;
    }
    /* Zurück-Button */
    addon-page-header[type="detail"] .main-heading .back-button {
       min-height: 28px !important;
       max-height: 28px !important;
       min-width: 28px !important;
       max-width: 28px !important;
       border-radius: 0 !important;
       fill: blue !important;
       border: 1px solid grey !important;
    }
    addon-page-header[type="detail"] .main-heading .back-button:hover {
       fill: red !important;
       background-color: greenyellow !important;
       border: 1px solid brown !important;
    }
    /* Text bei Suche */
    .main-search label.search-label {
       font-size: 16px !important;
       color: #C72F2E !important;
    }
    .main-search search-textbox {
       --in-content-focus-outline-color: var(--blue-40) !important;
       min-width: 296px !important;
       max-width: 296px !important;
       min-height: 28px !important;
       max-height: 28px !important;
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: #f2f3f4 !important;
       font-size: 14px !important;
    }
    /* Text unter Search-Box */
    .main-heading .header-name {
       min-width: 199px !important;
       max-width: 199px !important;
       font-size: 1.20em !important;
       color: #C72F2E !important;
       font-weight: 500 !important;
    }
    
    .main-heading div.spacer:nth-child(3) {
       min-width: 5px !important;
       max-width: 5px !important;
    }
    
    #updates-message[state="manual-updates-found"] {
       padding: 0 !important;
    }
    #updates-message[hidden=""] {
       display: block !important;
       opacity: 0 !important;
       min-width: 255px !important;
       max-width: 255px !important;
       margin-inline-end: 13px !important;
    }
    
    addon-page-header[type="detail"] #updates-message[hidden=""] {
       min-width: 409px !important;
       max-width: 409px !important;
    }
    
    #updates-message[state="updating"],
    #updates-message[state="none-found"],
    #updates-message[state="installed"] {
       min-width: 255px !important;
       max-width: 255px !important;
       border: 1px solid grey !important;
       padding: 0 5px !important;
       margin-inline-end: 1px !important;
       background: lightblue !important;
       color: blue !important;
    }
    #updates-message[state="manual-updates-found"] {
       min-width: 265px !important;
       max-width: 265px !important;
       border: 1px solid grey !important;
       padding: 0 !important;
       margin-inline-end: 1px !important;
       background: lightblue !important;
       color: blue !important;
    }
    addon-page-header#page-header[current-view="detail"]  #updates-message[state="updating"],
    addon-page-header#page-header[current-view="detail"]  #updates-message[state="none-found"],
    addon-page-header#page-header[current-view="detail"]  #updates-message[state="manual-updates-found"],
    addon-page-header#page-header[current-view="detail"]  #updates-message[state="installed"] {
       margin-left: 154px  !important;
    }
    #updates-message[state="none-found"][data-l10n-id="addon-updates-none-found"] {
       color: #409DD9 !important;
    }
    [data-l10n-id="addon-updates-updating"],
    [data-l10n-id="addon-updates-none-found"],
    [data-l10n-id="addon-updates-installed"] {
       padding: 0 !important;
       margin: 0 auto !important;
    }
    [data-l10n-id="addon-updates-manual-updates-found"] {
       width: calc(100% + 10px) !important;
       min-height: 26px !important;
       max-height: 26px !important;
       padding: 0 !important;
       margin: 0 !important;
    }
    
    /* Button mit dem Zahnrad */
    .page-options-menu .more-options-button {
       fill: green !important;    
       min-width: 28px !important;
       max-width: 28px !important;
       min-height: 28px !important;
       max-height: 28px !important;
       border-radius: 0 !important;
       border: 1px solid grey !important;
       padding: 0 !important;
       margin-inline-start: 0px !important;
    }
    .page-options-menu .more-options-button:hover {
       border: 1px solid brown !important;
       background-color: greenyellow !important;
       fill: red !important;
    }
    /* Popup hinter dem Zahnrad */
    #page-options > panel-list > panel-item {
       --in-content-button-background: none !important;
       --in-content-button-background-hover: none !important;
       --in-content-button-background-active: none !important;
       opacity: 1.0 !important;
       box-shadow: none !important;
       border: 1px solid #B2B2B2 !important;
       border-width:  5px !important;
       border-style: double !important;
       background: none !important;
       background-color: lightgrey !important;
       margin: 2px 2px 0 2px !important;
    }
    #page-options > panel-list > panel-item[action="check-for-updates"] {
       background-color: #800 !important;
       color: #FFF !important;
    }
    #page-options > panel-list > panel-item[action="set-update-automatically"] {
       background-color: #217B22 !important;
       color: #FFF !important;
    }
    #page-options > panel-list > panel-item:hover,
    #page-options > panel-list > panel-item[action="check-for-updates"]:hover,
    #page-options > panel-list > panel-item[action="set-update-automatically"]:hover {
       background-color: lightyellow !important;
       fill: #000 !important;
    }
    button[role="menuitem"]:hover > label,
    button[role="menuitem"]:hover > label > span {
       color: #000 !important;
    }
    panel-list[role="menu"][style="left: 722px; top: 72px;"] {
       z-index: 10000 !important;
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       padding: 0 0 2px 0 !important;
       margin: -1px auto 1px auto !important;
    }
    addon-page-options#page-options {
       border: 0 !important;
       padding: 0 !important;
    }
    #page-options > panel-list > panel-item-separator {
       background: #B2B2B2 !important;
       margin: 2px 0 0 0 !important;
    }
    
    /* rechte Box der gesamte Hintergrund */
    #content {
       background: gainsboro !important;
    }
    /* länge der Container */
    #content > #main {
       --section-width: calc(80% - 20px) !important;
       border-right: 2px solid #B2B2B2 !important;
       padding-right: 10px !important;
       padding-bottom: 10px !important;
       margin-top: 78px !important;
       margin-bottom: 0 !important;
       margin-left: 10px !important;
    }
    #content > #main[current-view="detail"] {
       border-bottom: 2px solid #B2B2B2 !important;
       margin-bottom: 10px !important;
    }
    
    discovery-pane > header {
       border: 2px solid #B2B2B2 !important;
       margin: 92px 0 10px 0 !important;
    }
    discovery-pane > header > p {
       padding: 2px 8px 3px 8px !important;
       margin: 0 !important;
    }
    
    section[section="0"],
    section[section="1"] {
       border: 2px solid #2F2F36 !important;
       background-color: grey !important;
       margin-top: 16px !important;
    }
    section[section="0"] h2.list-section-heading,
    section[section="1"] h2.list-section-heading {
       border-bottom: 2px solid #2F2F36 !important;
       padding: 1px 6px 2px 6px !important;
       margin: 0 !important;
    }
    section[section="0"] h2.list-section-heading {
       background-color: #217B22 !important;
    }
    section[section="1"] h2.list-section-heading {
       background-color: #C72F2E !important;
    }
    
    section[section="0"] addon-card .card,
    section[section="1"] addon-card .card {
       border-radius: 0 !important;
       background-color: #f3f3f3 !important;
       padding: 0 !important;
       margin: 10px 10px 0 10px !important;
    }
    section[section="0"] addon-card .card:last-child,
    section[section="1"] addon-card .card:last-child {
       margin: 10px !important;
    }
    section[section="0"] addon-card .card {
       border: 2px solid grey !important;
       border-width:  5px !important;
       border-style: double !important;
    }
    section[section="1"] addon-card .card {
       border: 2px solid grey !important;
       border-width:  5px !important;
       border-style: double !important;
    }
    
    section[section="0"] addon-card .card:hover,
    section[section="1"] addon-card .card:hover {
       border: 2px solid grey !important;
       box-shadow: 0 0 4px 4px blue !important;
       background-color: lightblue !important;
       border-width:  5px !important;
       border-style: double !important;
    }
    
    section[section="1"] addon-card .addon.card[active="false"] {
       opacity: 0.8 !important;
    }
    section[section="1"] addon-card .addon.card[active="false"]:hover {
       opacity: 1 !important;
    }
    
    /* Container bei Empfehlungen / Hintergrund und Border */   
    #content div#main discovery-pane recommended-addon-list recommended-addon-card div.card.addon{
       background-color: #fefefa !important;
       border: 2px solid grey !important;
       border-width:  5px !important;
       border-style: double !important;
    }  
    /* Container bei Themes/Farbgebungen (unten) / Hintergrund und Border */    
    #content div#main addon-list.monochromatic-addon-list section addon-card div.card.addon {
       width: 1285px !important;
       max-height: 140px !important; }
      
    
    addon-list message-bar {
       border: 2px solid #B2B2B2 !important;
       padding: 2px 6px !important;
       margin-top: 10px !important;
       margin-bottom: 0px !important;
    }
    addon-list message-bar[addon-id*="{"] {
       border: 2px solid #F20 !important;
       padding: 0 !important;
    }
    addon-list message-bar.update-postponed-bar {
       border: 0 !important;
       border-top: 2px solid #B2B2B2 !important;
       padding: 0 !important;
    }
    
    addon-list message-bar-stack[class="pending-uninstall"] message-bar {
       padding: 0 !important;
    }
    
    addon-list message-bar[addon-id*="{"] button[action="undo"] {
       border: 1px solid #B2B2B2 !important;
       background-color: #F20 !important;
       color: #FFF !important;
    }
    addon-list message-bar.update-postponed-bar button[action="install-postponed"] {
       border: 1px solid #B2B2B2 !important;
       background-color: #C44F00 !important;
       color: #FFF !important;
    }
    button[action="undo"][data-l10n-id="pending-uninstall-undo-button"] {
       border: 1px solid #B2B2B2 !important;
       background-color: #F20 !important;
       color: #FFF !important;
       padding: 3px 6px !important;
    }
    button[action="undo"][data-l10n-id="pending-uninstall-undo-button"]:hover,
    addon-list message-bar.update-postponed-bar button[action="install-postponed"]:hover,
    addon-list message-bar[addon-id*="{"] button[action="undo"]:hover {
       border: 1px solid #006EC1 !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    
    addon-list[type="theme"] section[section="0"] addon-card .card .card-contents {
       border-top: 2px solid #217B22 !important;
       padding: 0 0 0 6px !important;
    }
    addon-list[type="theme"] section[section="1"] addon-card .card .card-contents {
       border-top: 2px solid #C72F2E !important;
       padding: 0 0 0 6px !important;
    }
    addon-list[type="theme"] section[section="0"] addon-card .card:hover .card-contents,
    addon-list[type="theme"] section[section="1"] addon-card .card:hover .card-contents {
       border-top: 2px solid #0060DF !important;
    }
    
    div.addon-detail-contribute button.addon-detail-contribute-button {
       appearance: none !important;
       text-decoration: none !important;
       border: 1px solid #EDEDED !important;
       background-color: #0060DF !important;
       color: #FFF !important;
       padding: 2px 6px 2px 32px !important;
       margin-top: 2px !important;
       margin-bottom: 2px !important;
    }
    section[name="details"] .addon-detail-row a.support-link,
    section[name="details"] .addon-detail-row a[is="support-link"],
    section[name="details"] a[data-telemetry-name="homepage"],
    section[name="details"] a[data-telemetry-name="author"],
    section[name="details"] a[data-telemetry-name="rating"] {
       appearance: none !important;
       text-decoration: none !important;
       border: 1px solid #EDEDED !important;
       background-color: #0060DF !important;
       color: #FFF !important;
       padding: 2px 6px !important;
       margin-top: 2px !important;
       margin-bottom: 2px !important;
    }
    div.addon-detail-contribute button.addon-detail-contribute-button:hover,
    section[name="details"] .addon-detail-help-row a.support-link:hover,
    section[name="details"] .addon-detail-row a[is="support-link"]:hover,
    section[name="details"] a[data-telemetry-name="homepage"]:hover,
    section[name="details"] a[data-telemetry-name="author"]:hover,
    section[name="details"] a[data-telemetry-name="rating"]:hover,
    addon-permissions-list .addon-detail-row a[is="support-link"]:hover,
    named-deck#details-deck update-release-notes > p > a:hover,
    named-deck#details-deck div.addon-detail-description > a:hover {
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    
    /* Drei-Punkte-Button */
    #main addon-card .card .card-contents .addon-name-container,
    section[section="0"] addon-card .card .card-contents .addon-name-container,
    section[section="1"] addon-card .card .card-contents .addon-name-container {
       margin-top: 0 !important;
    }
    section[section="0"] addon-card .card .card-contents .addon-name-container > button,
    section[section="1"] addon-card .card .card-contents .addon-name-container > button,
    #main addon-card .card .card-contents .addon-name-container > button {
       background-color: lightblue !important;    
       border-radius: 0 !important;
       border: 1px solid grey !important;
       margin-top: 2px !important;
       margin-right: 2px !important;
       margin-left: 0 !important;
    }
    /* Button Deaktivieren */
    #main addon-card .card .card-contents .addon-name-container > button[data-l10n-id="disable-addon-button"] {
       background-color: #C72F2E !important;
       color: white !important;
    }
    /* Button Aktivieren */
    #main addon-card .card .card-contents .addon-name-container > button[data-l10n-id="enable-addon-button"] {
       background-color: #217B22 !important;
       color: white !important;
    }
    /* Button bei Hover */
    section[section="0"] addon-card .card .card-contents .addon-name-container > button:hover,
    section[section="1"] addon-card .card .card-contents .addon-name-container > button:hover,
    #main addon-card .card .card-contents .addon-name-container > button:hover,
    #main addon-card .card .card-contents .addon-name-container > button:hover,
    #main addon-card .card .card-contents .addon-name-container > button[data-l10n-id="disable-addon-button"]:hover,
    #main addon-card .card .card-contents .addon-name-container > button[data-l10n-id="enable-addon-button"]:hover {
       fill: #000 !important;
       border: 1px solid brown !important;
       background-color: greenyellow !important;
       color: #000 !important;
    }
    
    /* section[section="0"] addon-card .card .card-contents .addon-description,
    section[section="1"] addon-card .card .card-contents .addon-description {
        display: none !important;
    } */
    
    /* Mindesthöhe der rechten Container */
    addon-card:not([expanded]) > .addon.card {
       min-height:60px !important; }
    
    /* unterer Teil bei Themes / Farbgebungen */
    .monochromatic-addon-list addon-card .card {
       width: calc(100% + 570px) !important;
    }
    .monochromatic-addon-list section[section="0"] > h2 {
       font-size: 18px !important;
       font-weight: bold !important;
       border-bottom: 2px solid #2F2F36 !important;
       background: #0082FC !important;
       padding: 3px 6px 3px 6px !important;
    }
    .monochromatic-addon-list section[section="0"] > h3 {
       font-size: 14px !important;
       font-weight: normal !important;
       border-bottom: 2px solid #2F2F36 !important;
       background: lightgrey/* #474749 */ !important;
       padding: 3px 6px 3px 6px !important;
       margin-top: 0 !important;
       margin-bottom: 4px !important;
    }
    
    button:focus-visible,
    .addon-name-container input[type="checkbox"].toggle-button:focus,
    ul.addon-permissions-list > li.permission-info > label > input:focus {
       box-shadow: none !important;
       outline: unset !important;
       outline-offset: 0px !important;
       -moz-outline-radius: 0 !important;
       --in-content-border-active-shadow: unset !important;
    }
    
    addon-options > panel-list > panel-item,
    plugin-options > panel-list > panel-item {
       --in-content-button-background: none !important;
       --in-content-button-background-hover: none !important;
       --in-content-button-background-active: none !important;
       opacity: 1.0 !important;
       box-shadow: none !important;
       border: 1px solid #B2B2B2 !important;
       background: none !important;
       background-color: grey !important;
       margin: 2px 2px 0 2px !important;
    }
    addon-options > panel-list > panel-item[action="remove"] {
       background-color: #800 !important;
       color: #FFF !important;
    }
    addon-options > panel-list > panel-item[action="expand"],
    plugin-options > panel-list > panel-item[action="manage-addon-button"] {
       background-color: #804628 !important;
       color: #FFF !important;
    }
    addon-options > panel-list > panel-item[action="preferences"] {
       background-color: #217B22 !important;
       color: #FFF !important;
    }
    addon-options > panel-list > panel-item:hover,
    addon-options > panel-list > panel-item[action="preferences"]:hover,
    addon-options > panel-list > panel-item[action="remove"]:hover,
    addon-options > panel-list > panel-item[action="expand"]:hover,
    plugin-options > panel-list > panel-item:hover,
    plugin-options > panel-list > panel-item[action="manage-addon-button"]:hover {
       fill: #000 !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    addon-options > panel-list[role="menu"],
    plugin-options > panel-list[role="menu"] {
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: dodgerblue /* #C72F2E */ !important;
       padding: 0 0 2px 0 !important;
       margin-top: -1px !important;
    }
    addon-options > panel-list > panel-item-separator,
    plugin-options > panel-list > panel-item-separator {
       background: #B2B2B2 !important;
       margin: 2px 0 0 0 !important;
    }
    
    #main addon-card .card[active="true"] .card-contents .addon-name-container input[type="checkbox"].toggle-button,
    section[section="0"] addon-card .card .card-contents .addon-name-container input[type="checkbox"].toggle-button,
    ul.addon-permissions-list > li.permission-info > label > input:checked {
       --button-height: 24px !important;
       --button-half-height: 12px !important;
       --button-width: 24px !important;
       --button-border-width: 0px !important;
       --dot-size: 12px !important;
       --dot-margin: 5px 2px !important;
       --dot-transform-x: 6px !important;
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: #C72F2E !important;
       margin-top: 2px !important;
       margin-right: 2px !important;
    }
    #main addon-card .card[active="false"] .card-contents .addon-name-container input[type="checkbox"].toggle-button,
    section[section="1"] addon-card .card .card-contents .addon-name-container input[type="checkbox"].toggle-button,
    ul.addon-permissions-list > li.permission-info > label > input {
       --button-height: 24px !important;
       --button-half-height: 12px !important;
       --button-width: 24px !important;
       --button-border-width: 0px !important;
       --dot-size: 12px !important;
       --dot-margin: 5px 2px !important;
       --dot-transform-x: 6px !important;
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: #217B22 !important;
       margin-top: 2px !important;
       margin-right: 2px !important;
    }
    section[section="0"] addon-card .card .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover,
    section[section="1"] addon-card .card .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover,
    #main addon-card .card[active="true"] .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover,
    #main addon-card .card[active="false"] .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover,
    ul.addon-permissions-list > li.permission-info > label > input:hover,
    ul.addon-permissions-list > li.permission-info > label > input:checked:hover {
       background-color: #D1E2F2 !important;
    }
    section[section="0"] addon-card .card .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover::before,
    section[section="1"] addon-card .card .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover::before,
    #main addon-card .card[active="true"] .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover::before,
    #main addon-card .card[active="false"] .card-contents .addon-name-container input[type="checkbox"].toggle-button:hover::before,
    ul.addon-permissions-list > li.permission-info > label > input:hover::before,
    ul.addon-permissions-list > li.permission-info > label > input:checked:hover::before {
       background: #000 !important;
    }
    
    /* Lage des Icon im Container */
    .card-heading-icon {
       margin-inline-end: 20px !important;
       margin-top: 5px !important;
       margin-left: 10px !important;
    }
    /* Größe und Lage des Image bei Themes */
    .card-heading-image {
       min-width: 880px !important;
       max-width: 880px !important;
       min-height: 92px !important;
       max-height: 92px !important;
       border: 1px solid grey !important;
       border-radius: 6px !important;
       margin: 3px 0 0 3px !important;
    }
    
    recommended-extensions-section > h2,
    recommended-themes-section > h2 {
       border-top: 2px solid #2F2F36 !important;
       border-right: 2px solid #2F2F36 !important;
       border-left: 2px solid #2F2F36 !important;
       background-color: #0082FC !important;
       padding: 2px 6px 3px 6px !important;
       margin: 10px 0 0 0 !important;
    }
    
    .discopane-notice {
       border-radius: 0 !important;
       border-top: 2px solid #B2B2B2 !important;
       border-right: 2px solid #B2B2B2 !important;
       border-bottom:  !important;
       border-left: 2px solid #B2B2B2 !important;
       margin: 0 !important;
    }
    .container {
       padding: 2px !important;
       border-radius: 0 !important;
    }
    button[data-l10n-id="discopane-notice-learn-more"] {
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: #0061E0 !important;
       margin: 6px 3px 3px 3px !important;
    }
    button[data-l10n-id="discopane-notice-learn-more"]:hover {
       border: 1px solid #004AAD !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    .container button.close {
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: #C72F2E !important;
    }
    .container button.close:hover {
       border: 1px solid #004AAD !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    
    recommended-addon-list {
       display: block !important;
       border: 2px solid #2F2F36 !important;
    }
    recommended-addon-list .card {
       border-radius: 0 !important;
       border: 2px solid #B2B2B2 !important;
       padding: 0 !important;
       margin: 10px 10px 0 10px !important;
    }
    recommended-addon-list .card:last-child {
       margin: 10px !important;
    }
    recommended-addon-list:nth-child(3) > recommended-addon-card > div > div > div,
    recommended-addon-list[type="theme"] .card .card-contents {
       border-top: 2px solid #B2B2B2 !important;
       padding: 0 0 0 6px !important;
    }
    recommended-addon-list:nth-child(3) > recommended-addon-card > div > img[hidden=""] + div > div {
       border-top: 0 !important;
    }
    
    recommended-addon-list .addon-name-container button.disco-cta-button,
    recommended-addon-list[type="extension"] .card .card-contents button.disco-cta-button,
    recommended-addon-list[type="theme"] .card .card-contents button.disco-cta-button,
    recommended-addon-list .addon-name-container button[data-l10n-id="manage-addon-button"] {
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       margin: 6px 3px 3px 3px !important;
    }
    recommended-addon-list .addon-name-container button[data-l10n-id="manage-addon-button"] {
       background-color: #804628 !important;
    }
    recommended-addon-list .addon-name-container button.disco-cta-button:hover,
    recommended-addon-list[type="extension"] .card .card-contents button.disco-cta-button:hover,
    recommended-addon-list[type="theme"] .card .card-contents button.disco-cta-button:hover,
    recommended-addon-list .addon-name-container button[data-l10n-id="manage-addon-button"]:hover {
       border: 1px solid #004AAD !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    
    .discopane-notice-content a[is="support-link"] {
       min-height: 24px !important;
       max-height: 24px !important;
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background: #F0F0F0 url("..//icons/Bild1.png") no-repeat !important;
       background-position: 10px 3px !important;
       color: #000 !important;
       padding: 0px 3px 1px 36px !important;
       margin: 0 !important;
    }
    .discopane-notice-content a[is="support-link"]:hover {
       text-decoration: none !important;
       border: 1px solid #006FC2 !important;
       background: #D1E2F2 url("..//icons/Bild1.png") no-repeat !important;
       background-position: 10px 3px !important;
       color: #000 !important;
    }
    
    .view-footer .amo-link-container.view-footer-item button.primary[data-l10n-id="find-more-addons"] {
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background-color: #006FC2 !important;
       color: #FFF !important;
    }
    .view-footer .amo-link-container.view-footer-item button.primary[data-l10n-id="find-more-addons"]:hover {
       border: 1px solid #006FC2 !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    
    .view-footer-item a.privacy-policy-link {
       min-height: 24px !important;
       max-height: 24px !important;
       border-radius: 0 !important;
       border: 1px solid #B2B2B2 !important;
       background: #F0F0F0 url("..//chrome/icons/Bild1.png") no-repeat !important;
       background-position: 10px 2px !important;
       color: #000 !important;
       padding: 1px 3px 1px 36px !important;
       margin: 0 !important;
    }
    .view-footer-item a.privacy-policy-link:hover {
       text-decoration: none !important;
       border: 1px solid #006FC2 !important;
       background: #D1E2F2 url("..//chrome/icons/Bild1.png") no-repeat !important;
       background-position: 10px 2px !important;
       color: #000 !important;
    }
    
    div[current-view="detail"] {
       padding-top: 10px !important;
       margin-bottom: 0 !important;
    }
    /* Popup unter Verwalten */
    div[current-view="detail"] .card {
       background-color: lightgrey !important;    
       border-radius: 0 !important;
       border: 1px solid grey !important;
       border-width:  5px !important;
       border-style: double !important;
       margin-bottom: 0 !important;
    }
    div[current-view="detail"] .card:hover {
       background-color: #f8f8ff !important;
    }    
    div[current-view="detail"] {
       display: block !important;
    }
    div[current-view="detail"] addon-card {
       display: block !important;
       border: 1px solid #B2B2B2 !important;
    }
    button-group.tab-group {
       border-top: 2px solid #B2B2B2 !important;
       border-bottom: 2px solid #B2B2B2 !important;
       padding: 0 0 0 4px !important;
       margin-top: 0 !important;
    }
    button-group.tab-group > button {
       border: 1px solid #B2B2B2 !important;
       background-color: #0060DF !important;
       color: #FFF !important;
       margin: 3px 3px 3px 0 !important;
    }
    button-group.tab-group > button[selected=""] {
       border-top: 1px solid #B2B2B2 !important;
       background-color: #217B22 !important;
       color: #FFF !important;
    }
    button-group.tab-group > button:hover,
    button-group.tab-group > button[selected=""]:hover {
       border-top: 1px solid #B2B2B2 !important;
       background-color: #D1E2F2 !important;
       color: #000 !important;
    }
    
    named-deck#details-deck section[name="details"] > div {
       border-top-color: #B2B2B2 !important;
       border-bottom: 1px solid #B2B2B2 !important;
       padding: 3px 8px 4px 8px !important;
    }
    named-deck#details-deck section[name="details"] > div.addon-detail-row-has-help {
       border-bottom: 0 !important;
    }
    named-deck#details-deck section[name="details"] > div.addon-detail-description {
       width: calc(100% + 10px) !important;
       padding: 10px !important;
       margin: 0 -15px !important;
    }
    
    named-deck#details-deck[selected-view="permissions"] addon-permissions-list[name="permissions"] div.addon-detail-row {
       border-bottom: 1px solid #B2B2B2 !important;
    }
    
    named-deck#details-deck section[name="details"] > .addon-detail-contribute {
       width: calc(100% + 15px) !important;
       margin: 0 0 0 -16px !important;
    }
    
    inline-options-browser[slot="selected"],
    update-release-notes[slot="selected"],
    inline-options-browser[name="preferences"][slot="selected"] {
       padding: 0 !important;
       margin: 0 !important;
    }
    
    inline-options-browser[name="preferences"] > .inline-options-stack {
       width: calc(100% + 30px) !important;
       border: 0 !important;
       border-bottom: 1px solid #B2B2B2 !important;
       background-color: #2A2A2E !important;
       padding: 0 5px 5px 5px !important;
       margin: 5px 0 0 -15px !important;
    }
    inline-options-browser[name="preferences"] > .inline-options-stack #addon-inline-options {
       min-height: 335px !important;
       border: 0 !important;
       background-color: #D7D5D5 !important;
       padding: 0 5px !important;
       margin: 0 !important;
    }
    
    footer.view-footer {
       border: 2px solid #2F2F36 !important;
       padding: 0 !important;
       margin-top: 10px !important;
       margin-bottom: 0 !important;
    }
    footer.view-footer .view-footer-item {
       margin-top: 0 !important;
    }
    footer.view-footer .amo-link-container.view-footer-item + .view-footer-item {
       padding-top: 5px !important;
       padding-bottom: 6px !important;
    }
    footer.view-footer .view-footer-item:last-child {
       border-top: 2px solid #2F2F36 !important;
    }
    footer.view-footer .theme-recommendation {
       text-align: center !important;
       padding-top: 5px !important;
       padding-bottom: 1px !important;
       margin-top: 0 !important;
       margin-bottom: 5px !important;
    }
    
    /* Test */
    #main[current-view="updates"] addon-card .card[active="false"] {
       border: 2px solid #C72F2E !important;
    }
    
    #main addon-card .card[active="true"] .addon-card-message,
    #main addon-card .card[active="false"] .addon-card-message {
       --message-bar-background-color: #EEE8AA !important;
       padding: 0 !important;
    }
    #main addon-card .card[active="true"] .addon-card-message,
    #main addon-card .card[active="true"] .update-postponed-bar {
       border-radius: 0 !important;
       border-top: 2px solid #217B22 !important;
       margin: 0  !important;
    }
    #main addon-card .card[active="false"] .addon-card-message,
    #main addon-card .card[active="false"] .update-postponed-bar {
       border-radius: 0 !important;
       border-top: 2px solid #C72F2E !important;
       margin: 0  !important;
    }
    
    #main[current-view="detail"] addon-card .card[active="true"] .addon-card-message,
    #main[current-view="detail"] addon-card .card[active="false"] .addon-card-message {
       border-top: 2px solid #B2B2B2 !important;
       margin-top: 8px !important;
       margin-right: -15px !important;
       margin-left: -15px !important;
    }
    
    /* unter Empfehlungen ganz unten der Button Datenschutzrichtlinie */
    #content div#main discovery-pane footer.view-footer div.view-footer-item a.privacy-policy-link{
       min-height: 27px !important;
       max-height: 27px !important;
       border-radius: 0 !important;
       border: 1px solid grey !important;
       background: #F0F0F0 url("..//icons/Bild1.png") no-repeat !important;
       background-position: 6px 2px !important;
       color: #000 !important;
       padding: 1px 3px 1px 36px !important;
       margin: 0  !important;
    }
    #content div#main discovery-pane footer.view-footer div.view-footer-item a.privacy-policy-link:hover {
       border: 1px solid #006FC2 !important;
       background: #D1E2F2 url("..//icons/Bild1.png") no-repeat !important;
       background-position: 6px 2px !important;
       color: #000 !important;
    }
    
    div[current-view="detail"] > addon-card[expanded="true"] > .card .card-heading-image {
       margin-top: -12px !important;
       margin-left: -12px !important;
    }
    div[current-view="detail"] > addon-card[expanded="true"] > .card > img.card-heading-image:not([hidden=""]) + .addon-card-collapsed .card-contents {
       border-top: 2px solid #B2B2B2 !important;
       padding-left: 5px !important;
       margin-right: -15px !important;
       margin-left: -15px !important;
    }
    div[current-view="detail"] > addon-card[expanded="true"] > .card[active="false"] .card-heading-image {
       margin-top: -12px !important;
       margin-left: -12px !important;
    }
    div[current-view="detail"] > addon-card[expanded="true"] > .card[active="false"] > img.card-heading-image:not([hidden=""]) + .addon-card-collapsed .card-contents {
       border-top: 2px solid #B2B2B2 !important;
       padding-left: 5px !important;
       margin-left: -15px !important;
    }
    
    /*============ Button für Popup-Menü vom Zahnradbutton =============*/
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(1)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background-image: url("..//icons/Bild5.png");
       background-size: 16px 16px !important;
       margin-left: 10px;
       margin-right: -16px;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(2)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background-image: url("..//icons/Bild61.png");
       background-size: 16px 16px !important;
       margin-left: 10px;
       margin-right: -16px;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(4)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background-image: url("..//icons/Bild3.png");
       background-size: 16px 16px !important;
       margin-left: 10px;
       margin-right: -16px;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(5)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background-image: url("..//icons/Bild66.ico");
       background-size: 16px 16px !important;
       margin-left: 10px;
       margin-right: -16px;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(7) {
       fill: transparent !important;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(7)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background: url("..//icons/aktiv.png");
       background-size: 18px 18px !important;
       margin-left: 10px;
       margin-right: -16px;
       margin-bottom: 3px;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(7):not([checked])::before {
       content: '';
       font-size: 14px;
       padding-top: 1px !important;
       padding-bottom: 2px !important;
       display: block;
       width: 16px;
       height: 16px;
       background: url("..//icons/inaktiv.png") no-repeat !important;
       background-position: 0 2px !important;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(8)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background-image: url("..//icons/Bild64.png");
       background-size: 16px 16px !important;
       margin-left: 10px;
       margin-right: -16px;
    }
    
    #page-options > panel-list:nth-child(1) > panel-item:nth-child(10)::before {
       content: '';
       display: block;
       width: 16px;
       height: 16px;
       background-image: url("..//icons/Bild67.png");
       background-size: 16px 16px !important;
       margin-left: 10px;
       margin-right: -16px;
    }
    /* Button Ende */
    
    }
    Alles anzeigen

    Und Bilder dazu:

        

  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 30. Dezember 2021 um 17:56
    Zitat von Boersenfeger

    Vielen Dank auch für die diversen Nasenstüber.

    Gern geschehen, konnte ich mir einfach nicht verkneifen. ;) :)

    Aber glaube mir, ist schon besser so. Die Zeilen 348 und 349 kannst du doch gleich hinter Zeile 130 einfügen, denn der Selektor ist doch dort schon vorhanden.

    Zitat von Boersenfeger

    Spätestens 2024 werde ich mich mit dem ganzen Codekram näher auseinandersetzen

    Welche Uni willst du besuchen, oder ist das geheim? ;)

    Guten Rutsch! :thumbup:

  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 29. Dezember 2021 um 20:26
    Zitat von .DeJaVu

    Ich schreibe das nicht aus Jux und Dollerei

    Das ist es doch. In meinem Beitrag steckt natürlich eine ordentliche Portion Ironie, weil ich es einfach nicht verstehen konnte, wieso er nicht den bereinigten Code installiert. Besser kann man es doch nicht haben, wenn einem schon alles mundgerecht serviert wird.

    Wenn dann mal wieder Fehler auftreten sollten, dann wird auch wieder Hilfe da sein.

  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 29. Dezember 2021 um 18:44
    Zitat von .DeJaVu

    Und mit allen Änderungen, also auch die von Andreas, sieht es optimierter so aus

    Ja, und der funktioniert ja auch perfekt. :thumbup:

    Aber glaube mir, er hat Angst diesen wohl sortierten Code zu installieren, denn dann sieht er nicht mehr durch. ;)

    Er braucht das Durcheinander, dann fühlt er sich wohl, und hat ja dann auch die Möglichkeit offen, wie er selbst sagt, hier wieder auf Pirsch zu gehen, um Ersatzteile zu suchen. :)

    Guten Rutsch! :)

  • Extra Config Menü Icon überall verschiebbar machen?

    • FuchsFan
    • 28. Dezember 2021 um 18:18
    Zitat von 2002Andreas

    Hier auch, aber eben nur in den Standardleisten.

    So ist es, Andreas. :)


    Zitat von omar1979

    Habe es auch geändert, funkt immernochnicht..

    Dann nimm doch mal bitte das Script und teste damit.

    CSS
    // ==UserScript==
    // @name           extras_config_menu.uc.js
    // @compatibility  Firefox 6*.*
    // @include        main
    // @version        1.0.20190504
    // ==/UserScript==
    
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
      TextOpenExe: 'D:\\PortableProgramme\\Notepad++8.1.9.Portable.x64\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele:
      // vFileManager: 'E:\\Total Commander\\Totalcmd.exe',
      // vFileManager: 'C:\\Program Files (x86)\\FreeCommander\\FreeCommander.exe'
      vFileManager: '',
      // In der folgenden Zeile (19) 'menu' eintragen, damit es unter "Extras" als Menue erscheint, sonst die id des gewuenschten
      // Elements *nach* dem der Button erscheinen soll (z.B. 'urlbar', 'searchbar', 'undoclosetab-button','abp-toolbarbutton')
      // Bitte nicht so etwas wie die Menue- oder Navigationsleiste (sondern einen Menuepunkt oder einen Button mit id auf diesen Leisten) eintragen:
      warpmenuto: 'urlbar-container',
     // Unter Linux sollte/kann versucht werden, die userChromeJS-Skripte zu sortieren, unter Windows ist das evtl. nicht noetig (die Sortierung wird Gross- und Kleinschreibung *nicht* beruecksichtigen - dazu wird die sort()-Funktion entsprechend mit einer Vergleichsfunktion aufgerufen)
      sortScripts: 0,   // 1 zum Erzwingen der Sortierung
      // Einbindung GM-Skripte-Ordner (0: nein, 1: Greasemonkey [Profil-Verzeichnis], 2: UserScriptLoader [Chrome-Verzeichnis], 3: Scriptish [Profil-Verzeichnis]):
      gmOrdner: 0,
      // Einbindung CSS-Ordner (0: nein, 1: UserCSSLoader-Ordner im Chrome-Verzeichnis):
      cssOrdner: 1,
      // In Zeile 30 gueltige about:Adressen eintragen, die ebenfalls aufgerufen werden sollen.
      // - Zum Ausblenden: abouts: [],
      // - Damit die about:-Seiten nicht als Untermenue, sondern direkt als Menuepunkte aufgefuehrt werden, muss das erste Element '0' sein:
      // abouts: ['0','about:about','about:addons','about:cache','about:config','about:support'],
       abouts: ['about:about','about:addons','about:cache','about:config','about:debugging','about:crashes','about:home','about:memory','about:plugins','about:preferences','about:profiles','about:support'],
      // Die normalen Firefox-Einstellungen auch zur Verfuegung stellen (0: nein, 1: ja):
      showNormalPrefs: 0,
      // Stellt "Skriptliste in Zwischenablage" zur Verfuegung (1: ja, 2: mit getrennter Nummerierung, 3: mit gemeinsamer Nummerierung) oder nicht (0):
      enableScriptsToClip: 1,
      // Um den Eintrag "Neustart" zu erzwingen (falls z.B. das andere Skript zu spaet eingebunden und nicht erkannt wird), auf 1 setzen:
      enableRestart: 0,
      // Ende der Konfiguration
    
      init: function() {
        if (this.warpmenuto.toLowerCase() == 'menu') {
          // aufgrund des gewaehlten warpmenuto als Untermenue von Extras anlegen
          var zielmenu = document.getElementById('menu_ToolsPopup');
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielmenue nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'zielmenu' kontrollieren.");
            return;
          }
          var menu = zielmenu.appendChild(this.createME("menu","Config Men\u00FC",0,0,"ExtraConfigMenu"));
          menu.setAttribute("class","menu-iconic");
          menu.setAttribute("ondblclick","openTrustedLinkIn('about:config', 'tab');");
         } else {
    
          /*
          // als Button nach dem per warpmenuto gewaehlten Element anlegen (s. Kommentar ueber warpmenuto im Konfigurationsabschnitt)
          var zielmenu = document.getElementById(this.warpmenuto);
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielpunkt '"+this.warpmenuto+"' nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'warpmenuto' kontrollieren.");
            return;
          }
          var menu = zielmenu.parentNode.insertBefore(document.createXULElement('toolbarbutton'), zielmenu.nextSibling);
          menu.setAttribute("id", "ExtraConfigMenu-button");
          menu.setAttribute("class", "toolbarbutton-1");
          menu.setAttribute("type", "menu");
          menu.setAttribute("tooltiptext", "Extra Config Menü\nMittelklick \öffnet about:config");
          menu.setAttribute("onclick", "if (event.button === 1 && !this.open) {openTrustedLinkIn('about:config','tab')};");
          */
    
          // als verschiebbaren Button anlegen
          if (window.__SSi == "window0") {
            CustomizableUI.createWidget({
              id: "ExtraConfigMenu-button",
              defaultArea: CustomizableUI.AREA_NAVBAR,
              label: "Extra Config Menü",
              tooltiptext: "Extra Config Menü\nMittelklick \öffnet about:config"
            });
          }
          var menu = document.getElementById("ExtraConfigMenu-button");
          menu.setAttribute("type", "menu");
          menu.setAttribute("onclick", "if (event.button == 1) openTrustedLinkIn('about:config', 'tab');");
        }
    
        //ab hier ist alles gleich, egal ob Button oder Menue
        var css = " \
          #ExtraConfigMenu, #ExtraConfigMenu-button { \
           list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnElEQVR4Xm2RzYtbZRSHn/fr3pvJzTB3qiNM2k2pMBUGhEHaqsUqdeFGQalCobgREaFu/B/cqCtxVSjoQhBEQRBmIfWDKgNGJUPt0Nhah9JJ4iSd5E6+bu5972tAO4SS5/DjXZ1znsMrNiq1eikMQqYYJCmjxNH5+zdW777L0J5KKl9VPmnf+ut9KWkwhbheuzNcOVYOmGKc5iRO0r1ykeXCx0h7kt4fC3z5wfqbQnAJwQHa5S7jAZSRuJ0mkf81cheobhBXZa+ri1uptQjHAZoZCEC1PiPgDuwxCfwerBU7b73zXn//3usCcdt4HkZ7SGZg431U51NUCgwlO3cV/bVXhR/6p9ut+nP9QYeNn7/n8qUPZxvQ/Q6VVWHk4ZqWRvlJjpx9hcGfW2wO95N2q8m3618A2WwDt/0RplSAXsBed57eyossHl5GYdHacG3zGpADM06wjQ1UUIN+CLHPvfAxojPnKLiE+bDE1R9+5GatAmgPeGCAteQ7l5GBhGSyuROyd/gFouUyWkqEErR2mwXAAA8BRS0AgMQBjSra30ZkEeDzz9Dn4ZcvMO51SMcJcTdGChmA0ABA6cAgzyG3I8jLEBylV4fWoaeIc0V7t0Uv7pFbC+CA+28mp/8+SwXKnMVmz1O9HpE+eobMZdjcoY1GIHD/NwIdoH1fBaNguzlg88pVyoUi4vTbFI8eJxsNAIfSkrliESllH/L0v0jktNNomFGv1TFrL3Fo9QSMR3jaEEXzLC09gjaKp595No0WjyCEB4zRclICUMDxtRMce/wJ1MIi2SglXShhfI/cOjxPoZRmbq4gXzt/gVrtBrdvbiG+Wf+p/mvll1BpiVAGhCDPxuAUDotz4HKHlIJON6bRbL4hhPjcMx5mkn8BBLEUrsVZbq0AAAAASUVORK5CYII=) !important; margin-right: 10px !important; margin-bottom: 2px !important; margin-top: 2px !important; \
          } \
          #ExtraConfigMenu-button > dropmarker, #ExtraConfigMenu-button > hbox > .toolbarbutton-menu-dropmarker { \
            display: none !important; \
          }";
        var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
        sss.loadAndRegisterSheet(uri,sss.AGENT_SHEET);
        menu.setAttribute("onpopupshowing","uProfMenu.getScripts(0)");
        var menupopup = menu.appendChild(this.createME("menupopup",0,0,0,"ExtraConfigMenu-popup"));
        menupopup.appendChild(this.createME("menuitem","userChrome.js","uProfMenu.edit(0,'userChrome.js');","uProfMenu_edit",0));
        // Anlegen von Untermenues fuer die userChromeJS-Skripte (befuellt werden sie spaeter)
        var submenu=menupopup.appendChild(this.createME("menu","uc.js",0,0,"submenu-ucjs"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucjs-items"));
        // var submenu=menupopup.appendChild(this.createME("menu","uc.xul",0,0,"submenu-ucxul"));
        // var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucxul-items"));
        if (this.enableScriptsToClip) menupopup.appendChild(this.createME("menuitem","Skriptliste in Zwischenablage","uProfMenu.getScripts(1)","uProfMenu_clipboard",0));
         // Ende Anlegen von Untermenues fuer die userChromeJS-Skripte
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Konfigdateien
        menupopup.appendChild(this.createME("menuitem","userChrome.css","uProfMenu.edit(0,'userChrome.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userContent.css","uProfMenu.edit(0,'userContent.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","prefs.js","uProfMenu.edit(1,'prefs.js');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","user.js","uProfMenu.edit(1,'user.js');","uProfMenu_edit"),0);
        // Ende Einbindung von Konfigdateien
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Ordnern
        switch (this.gmOrdner) {
          case 1:
            menupopup.appendChild(this.createME("menuitem","GM-skripty","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'gm_scripts');","uProfMenu_folder"),0);
            break;
          case 2:
            menupopup.appendChild(this.createME("menuitem","USL-skripty","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'UserScriptLoader');","uProfMenu_folder"),0);
            break;
          case 3:
            menupopup.appendChild(this.createME("menuitem","Skripty Scriptish","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'scriptish_scripts');","uProfMenu_folder"),0);
            break;
        }
        if (this.cssOrdner) {
          menupopup.appendChild(this.createME("menuitem","CSS-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSS');","uProfMenu_folder"),0);
        }
        menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Profilordner","uProfMenu.prefDirOpen('ProfD');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Addonordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'extensions');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Installationsordner","uProfMenu.prefDirOpen('CurProcD');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Startup-Cacheordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfLD')+uProfMenu.getDirSep()+'startupCache');","uProfMenu_folder"),0);
        // Ende Einbindung von Ordnern
        // Einbindung von abouts
        if (this.abouts.length>0) {
          menupopup.appendChild(document.createXULElement('menuseparator'));
          // falls der erste Eintrag des arrays ='0' ist, dann kein Untermenue anlegen, sondern direkt als Menuepunkte einbinden
          if (this.abouts[0]=='0') {
            for (var i = 1; i < this.abouts.length; i++) {
            menupopup.appendChild(this.createME("menuitem",this.abouts[i],"openTrustedLinkIn('"+this.abouts[i]+"','tab')","uProfMenu_about"),0);
            }
           } else {
            // der erste Eintrag des arrays ist ungleich '0', deshalb als Untermenue einrichten
            var submenu=menupopup.appendChild(this.createME("menu","uc.js",0,0,"submenu-about"));
            var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-about-items"));
            this.fillMenu("submenu-about","submenu-about-items", "about:",this.abouts,"uProfMenu_about",1);
          }
        }
        // Ende Einbindung von abouts
        // Separator, falls dieser nicht schon durch abouts generiert wurde und weitere Menuepunkte folgen werden
        if (this.abouts.length==0 && (this.showNormalPrefs || typeof(ToolRstartMod) != "undefined")) menupopup.appendChild(document.createXULElement('menuseparator'));
        // Falls gewuenscht (s. Konfigurationsabschnitt), Zugriff auf die normalen Einstellungen
        if (this.showNormalPrefs) menupopup.appendChild(this.createME("menuitem","Einstellungen","try{openOptionsDialog();}catch(e){openPreferences();}","uProfMenu_prefs"),0);
        // Falls addRestartButton installiert ist, Neustart zur Verfuegung stellen (addRestartButton 1.0.20120105mod erforderlich)
        if(typeof(ToolRstartMod) != "undefined" || this.enableRestart) menupopup.appendChild(this.createME("menuitem","Neustart",
        "try{ToolRstartMod.restartApp(false);} catch(e){alert(e);}","uProfMenu_restart"),0);
      },
    
      getDirSep:function() {
        // Betriebssystem nach https://developer.mozilla.org/en/Code_snippets/Miscellaneous ermitteln
        var osString = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS;
        var dirsep="/";
        switch(osString) {
          case "WINNT":
            dirsep="\\";
            break;
          case "Linux":
            dirsep="/";
            break;
          case "Darwin":
            dirsep="/";
            break;
        }
        return dirsep;
      },
    
      edit:function(OpenMode,Filename){
        var Path = "";
        var dSep = this.getDirSep();  // die Trennzeichen zwischen Ordnern abhaengig vom Betriebssystem machen
        switch (OpenMode){
          //Current is Chrome Directory
          case 0:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + Filename;
            break;
          //Current is Profile Directory
          case 1:
            var Path = this.getPrefDirectoryPath("ProfD") + dSep + Filename;
            break;
          //Current is Root
          case 2:
            var Path = Filename;
            break;
        }
        this.launch(this.TextOpenExe,Path);
      },
    
      dirOpen:function(Path){
        if (this.vFileManager.length != 0) {
          var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
          var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
          var args=[Path];
          file.initWithPath(this.vFileManager);
          process.init(file);
          // Verzeichnis mit anderem Dateimanager oeffnen
          process.run(false, args, args.length);
         } else {
          // Verzeichnis mit Dateimanager des Systems oeffnen
          var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
          dir.initWithPath(Path);
          dir.launch();
        }
      },
    
      prefDirOpen:function(prefDir){
        Path = this.getPrefDirectoryPath(prefDir);
        this.dirOpen(Path);
      },
    
      getPrefDirectoryPath:function(str){
        // get profile directory
        var file = Components.classes["@mozilla.org/file/directory_service;1"]
          .getService(Components.interfaces.nsIProperties)
          .get(str, Components.interfaces.nsIFile);
        if (str == 'CurProcD') {
          file = file.parent;
        };
        return file.path;
      },
    
      launch:function(RanPath,OpenPath){
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
        var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        var args = [OpenPath];
        file.initWithPath(RanPath);
        // falls der im Konfigurationsabschnitt definierte Editor nicht gefunden wird, auf Einstellung in about:config ausweichen:
        if (!file.exists()) {
          var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
          RanPath=pref.getCharPref("view_source.editor.path");
          file.initWithPath(RanPath);
        }
        proc.init(file);
        proc.run(false, args, args.length);
      },
    
      stringComparison:function(a, b){
        a = a.toLowerCase();
        a = a.replace(/ä/g,"a");
        a = a.replace(/ö/g,"o");
        a = a.replace(/ü/g,"u");
        a = a.replace(/ß/g,"s");
        b = b.toLowerCase();
        b = b.replace(/ä/g,"a");
        b = b.replace(/ö/g,"o");
        b = b.replace(/ü/g,"u");
        b = b.replace(/ß/g,"s");
        return(a==b)?0:(a>b)?1:-1;
      },
    
      getScripts:function(iType) {
        // Arrays (jeweils ein Array fuer uc.js und uc.xul) nehmen Namen der gefundenen Skripte auf
        let ucJsScripts = [];
        let ucXulScripts = [];
        // Suchmuster, also die Dateierweiterungen uc.js und uc.xul
        let extjs = /\.uc\.js$/i;
        let extxul= /\.uc\.xul$/i;
        let aFolder = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path);
        // files mit Eintraegen im Chrome-Ordner befuellen
        let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
        // Ordner bzw. files durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Ci.nsIFile);
          // keine gewuenschte Datei, deshalb continue
          if (!extjs.test(file.leafName) && !extxul.test(file.leafName)) continue;
          // uc.js gefunden -> im Array ablegen
          if (extjs.test(file.leafName)) ucJsScripts.push(file.leafName);
          // uc.xul gefunden -> im Array ablegen
          if (extxul.test(file.leafName)) ucXulScripts.push(file.leafName);
        }
        if (this.sortScripts) {
          ucJsScripts.sort(this.stringComparison);
          ucXulScripts.sort(this.stringComparison);
        }
        // Aufruf der naechsten Methoden um die beiden Untermenues oder die Zwischenablage zu befuellen
        if (iType==0) {
          this.fillMenu("submenu-ucjs","submenu-ucjs-items", "uc.js",ucJsScripts,"uProfMenu_ucjs",0);
          //this.fillMenu("submenu-ucxul","submenu-ucxul-items", "uc.xul",ucXulScripts,"uProfMenu_ucxul",0);
         } else {
          var result=this.fillClipboardValue(ucJsScripts,ucXulScripts);
          Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(result);
        }
      },
    
      fillMenu:function(whichsubmenu, whichsubmenuitems, strlabel, scriptArray,sClass,sTyp) {
        // Beschriftung des Untermenues mit Anzahl der gefundenen Dateien ergaenzen
        var e = document.getElementById(whichsubmenu);
        e.setAttribute('label',strlabel + ' (' + scriptArray.length + ')');
        var popup = document.getElementById(whichsubmenuitems);
        // zunaechst Untermenue zuruecksetzen
        while(popup.hasChildNodes()){
          popup.removeChild(popup.firstChild);
        }
        // Untermenue endlich befuellen
        for (var i = scriptArray.length-1; i > -1; i--) {
          // bisher nur eine Typunterscheidung (userChromeJS-Skript oder about:)
          if (sTyp==0){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(0,'"+scriptArray[i]+"')",sClass,0);
            mitem.setAttribute("onclick","uProfMenu.openAtGithub(event,'"+scriptArray[i]+"')");
            mitem.setAttribute("tooltiptext"," Linksklick: Bearbeiten,\n Mittelklick: https://github.com/.../"+this.cleanFileName(scriptArray[i])+" oeffnen,\n Rechtsklick: Suche auf GitHub");
           } else {
            var mitem = this.createME("menuitem",scriptArray[i],"openTrustedLinkIn('"+scriptArray[i]+"','tab')",sClass,0);
          }
          popup.insertBefore(mitem, popup.firstChild);
        }
      },
    
      fillClipboardValue:function(sArray,xArray) {
        var retValue;
        var s = 0;
        var x = 0;
        s = sArray.length;
        x = xArray.length;
        switch(this.enableScriptsToClip) {
          case 1:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------\n"+sArray.join("\n")+
                       "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------\n"+xArray.join("\n");
            break;
          default:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------";
            for (var i = 0; i < s ; i++) {
              j = i + 1;
              retValue = retValue + "\n" + j + ". " + sArray[i];
            }
            retValue = retValue + "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------";
            if (this.enableScriptsToClip==2) s = 0;
            for (var i = 0; i < x ; i++) {
              j = i + s + 1;
              retValue = retValue + "\n" + j + ". " + xArray[i];
            }
            break;
        }
        return retValue;
      },
    
      createME:function(sTyp,sLabel,sCommand,sClass,sId) {
        // Anlegen von menuitem, menu oder menupop - fuer bestimmte Typen nicht eingesetzte Parameter werden als 0 uebergeben
        const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
        var m = document.createElementNS(XUL_NS, sTyp);
        switch (sTyp) {
          case "menuitem":
            // this.createME("menuitem","Label des Items","ZuzuweisenderCodeFueroncommand","GewuenschteKlasseDesItems",0)
            m.setAttribute('label', sLabel);
            m.setAttribute('oncommand',sCommand);
            m.setAttribute('class',sClass);
            break;
          case "menu":
            // this.createME("menu","Label des Menues",0,0,"GewuenschteIdDesMenues")
            m.setAttribute('label', sLabel);
            m.setAttribute('id', sId);
            break;
          case "menupopup":
            //this.createME("menupopup",0,0,0,"GewuenschteIdDesMenupopups");
            m.setAttribute('id', sId);
            break;
        }
        return m;
      },
    
      openAtGithub:function(e,sScript) {
        if (e.button==1){
          // Mittelklick - Seite auf GitHub oeffnen (funktioniert nur, wenn Ordner- und bereinigter Dateiname [ohne Erweiterung] uebereinstimmen):
          var sUrl="https://github.com/ardiman/userChrome.js/tree/master/"+this.cleanFileName(sScript);
          openWebLinkIn(sUrl, 'tab');
        }
        if (e.button==2){
          // Rechtsklick - Suche auf GitHub starten (funktioniert nur, wenn der Dateiname im Code hinterlegt ist):
          e.preventDefault();
          var sUrl="https://github.com/search?langOverride=&language=&q="+sScript+"&repo=&start_value=1&type=Code";
          openWebLinkIn(sUrl, 'tab');
        }
      },
    
      cleanFileName:function(sName) {
        sName=sName.toLowerCase();
        /* Das folgende Array enthaelt regulaere Ausdruecke, um ungueltige Zeichenfolgen entfernen:
        /Datei-Erweiterungen am Ende/, /"ucjs_" am Anfang/, /"_"gefolgtVonZahlUndDanachBeliebigenZeichen/
        / "_fx"gefolgtVonZahl(en)/, /"-" oder "+" oder "."/, /"_v"gefolgtVonZahlen
        */
        var regs=[/\.uc\.js$/,/\.uc\.xul$/,/^ucjs_/,/_\d.+/,/_fx\d+/,/[-+\.]/g,/_v\d+/];
        for (var i = 0; i < regs.length; i++) {
          sName=sName.replace(regs[i],"");
        }
        return sName;
      }
    };
    
    uProfMenu.init();
    Alles anzeigen
  • Extra Config Menü Icon überall verschiebbar machen?

    • FuchsFan
    • 28. Dezember 2021 um 17:54

    2002Andreas

    Nun habe ich in das Script mal den originalen Base64-Code für das Icon eingetragen, weiter keine Änderungen gemacht. Der Button kann überall hin verschoben werden, Icon bleibt erhalten, und Popup arbeitet auch.

    Endor hat es hier RE: Extra Config Menü Icon überall verschiebbar machen? ja auch bestätigt.

  • Extra Config Menü Icon überall verschiebbar machen?

    • FuchsFan
    • 28. Dezember 2021 um 17:09
    Zitat von 2002Andreas

    Du hast den Pfad dazu im Script für dich angepasst?

    Nein, das habe ich nicht gemacht, weil ich es nicht wusste. :/

  • Extra Config Menü Icon überall verschiebbar machen?

    • FuchsFan
    • 28. Dezember 2021 um 17:07
    Zitat von 2002Andreas

    Aber nur wenn es in einer Zusatzleiste ist.

    Nur mal zum Test installiert, Button ist da, aber Icon fehlt überall.

  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 28. Dezember 2021 um 11:15
    Zitat von 2002Andreas

    Naja...der Code passt schon:

    Moin, Andreas! :)

    Ja, natürlich passt der, deswegen schrieb ich ja auch, dass er das Script im Einsatz hat. Damit sieht es dann aber so aus, wie auf dem Bild gezeigt.

    Hier das Script:

    Code
    // ==UserScript==
    // @name addBuildIdToAboutDialogueBox.uc.js
    // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description
    // @include chrome://browser/content/aboutDialog.xhtml
    // @compatibility Firefox 3.0 3.1 69.*
    // @author Alice0775
    // @version 2019/05/29 22.00 Anpassung von milupo - Reparatur der mehrzeiligen Darstellung
    // @version 2013/02/11 23:00 Bug 755724
    // @version 2008/11/22 12:00
    // @Note Unter Firefox Hilfe - Über Firefox Textfeld mit BuilsID hinzufügen
    // @Note und automatisches Kopieren in die Zwischenablage der BuilsID.
    // ==/UserScript==
    var addBuildid = {
    buildid: function (){
    return navigator.buildID;
    },
    
    
    addBuildid: function () {
    var ua = this.convUA() + " ID:" + this.buildid();
    
    
    var userAgentField = document.getElementById("userAgent");
    if (!userAgentField) {
    userAgentField = document.getElementById("rightBox");
    var label = document.createElementNS("http://www.w3.org/1999/xhtml", 'textarea');
    userAgentField = userAgentField.appendChild(label);
    userAgentField.setAttribute("id", "agent");
    userAgentField.setAttribute("value", navigator.userAgent);
    userAgentField.setAttribute("multiline", true);
    userAgentField.setAttribute("rows", "5");
    }
    userAgentField.value = this.getBuildSource() + "\n" + ua;
    userAgentField.setAttribute("value", this.getBuildSource() + "\n" + ua);
    window.resizeBy(0, 100);
    },
    
    
    convUA: function(){
    var pref = Components.classes['@mozilla.org/preferences-service;1']
    .getService(Components.interfaces.nsIPrefBranch);
    const kUA = "general.useragent.extra.firefox";
    const kUA2 = "general.useragent.override";
    var oldId = "";
    if (pref.prefHasUserValue(kUA)){
    oldId = pref.getCharPref(kUA);
    pref.clearUserPref(kUA);
    }
    var oldId2 = "";
    if (pref.prefHasUserValue(kUA2)){
    oldId2 = pref.getCharPref(kUA2);
    pref.clearUserPref(kUA2);
    }
    ua = navigator.userAgent;
    if (!!oldId)
    pref.setCharPref(kUA, oldId);
    if (!!oldId2)
    pref.setCharPref(kUA2, oldId2);
    return ua;
    },
    
    
    copyUA: function (){
    var userAgentField = document.getElementById("userAgent");
    if (!userAgentField)
    userAgentField = document.getElementById("agent");
    Components.classes["@mozilla.org/widget/clipboardhelper;1"]
    .getService(Components.interfaces.nsIClipboardHelper).copyString(userAgentField.value);
    },
    
    
    getBuildSource: function (){
    const Cc = Components.classes;
    const Ci = Components.interfaces;
    const ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
    const fph = ios.getProtocolHandler("file").QueryInterface(Ci.nsIFileProtocolHandler);
    const ds = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
    var file = ds.get("CurWorkD", Ci.nsIFile);
    var file = ds.get("CurProcD", Ci.nsIFile);
    if (/browser$/.test(file.path)) {
    var path = file.path.replace(/browser$/,"");
    file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
    file.initWithPath(path);
    }
    file.append("application.ini");
    var text = this.readFile(file);
    try {
    var SourceRepository = text.match(/SourceRepository=(.*)/)[1];
    var SourceStamp = text.match(/SourceStamp=(.*)/)[1];
    //alert(SourceRepository + "/rev/" + SourceStamp);
    return SourceRepository + "/rev/" + SourceStamp;
    } catch (ex) {
    return ""
    }
    },
    
    
    readFile: function (aFile){
    var stream = Components.classes["@mozilla.org/network/file-input-stream;1"].
    createInstance(Components.interfaces.nsIFileInputStream);
    stream.init(aFile, 0x01, 0, 0);
    var cvstream = Components.classes["@mozilla.org/intl/converter-input-stream;1"].
    createInstance(Components.interfaces.nsIConverterInputStream);
    cvstream.init(stream, "UTF-8", 1024,
    Components.interfaces.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
    var content = "", data = {};
    while (cvstream.readString(4096, data)) {
    content += data.value;
    }
    cvstream.close();
    return content.replace(/\r\n?/g, "\n");
    }
    }
    
    
    addBuildid.addBuildid();
    addBuildid.copyUA();
    setTimeout(function(){window.resizeBy(0, 0);},0);
    Alles anzeigen
  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 28. Dezember 2021 um 10:28
    Zitat von .DeJaVu

    Einfach mehr Struktur reingeben.

    Prima, dass du dir die Mühe gemacht hast, um Ordnung rein zu bringen. Das würde ihn aber in diesem Fall wieder nicht weiter bringen, weil er für die Anzeige der Text-Box ein Script verwendet. Dein Code in Verbindung mit dem Script ergibt dieses Resultat:

  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 27. Dezember 2021 um 16:49
    Zitat von 2002Andreas

    Was soll der Eintrag window in Zeile 93?

    Zeile 93 bis 103 sind völlig überflüssig, habe das gerade ausprobiert. Er müsste zu meinem vorgeschlagenen Code-Schnipsel nur noch color für die Schriftfarbe hinzufügen, und dann ist es gut so. Es sei denn, da werkelt wieder was dazwischen.

  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 27. Dezember 2021 um 16:30
    Zitat von Boersenfeger

    Allerdings ist dieser Teil nun mit schwarzem Hintergrund, sonst war es weiß, siehe oben..

    Das stimmt, dann füge dem Code mal das hinzu. Farbe bitte anpassen.

    CSS
    #rightBox textarea{
    background-color: yellow !important;
    }
  • Anpassung für About-Dialog funktioniert nicht mehr

    • FuchsFan
    • 27. Dezember 2021 um 16:03
    Zitat von Boersenfeger

    Sollte eigentlich ungefähr so aussehen, hier die Default-Version:

    Auch nach dem jetzigen Update keine Probleme hier, liegt also an deinem Code.

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 19:28
    Zitat von Sören Hentzschel

    Ja, sein Code blendet alle Reiter ein, also auch die, die nicht zu sehen sein sollten.

    Danke, Sören, wieder Klarheit geschaffen. :thumbup: :)

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 19:23
    Zitat von harff182

    Layout und Farbzusammenstellung etc sagen mir sehr zu

    Danke! :saint:

    Zitat von harff182

    Magst du kundtun, von welcher Breite Du ausgegeangen bist bei den ganzen Werten?

    Von Zeile 111 bis 187 sind hauptsächlich die Maße für die rechte Seite eingetragen.

    Beginne mal mit dem Wert in Zeile 117 , dann wirst du erkennen, was noch geändert werden muss.

    Es sind dann noch folgende Zeilen anzupassen und untereinander abzustimmen:

    242, 252, 402, 416, 431 und 446.

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 19:18
    Zitat von Sören Hentzschel

    das an deinen Anpassungen, die etwas sichtbar machen, was für dich nicht sichtbar sein sollte.

    Dann aber unbewusst, denn ich habe diesbezüglich keine Änderungen gemacht. Es wird doch nicht mit dem Code von Dharkness zu tun haben, von dem ich ja auch sehr viel bei mir verbastelt habe. Denn bei seinem Code ist der Eintrag ja auch dort.

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 17:10
    Zitat von milupo

    Dann ist sie vielleicht schon durch.

    Das mag sein, denn der Eintrag in about:config steht bei mir auf true, ohne dass ich dort etwas geändert hätte.

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 16:59
    Zitat von milupo

    Man muss die Erweiterung von hier herunterladen

    Nö, habe ich nicht getan, und ist auch nicht installiert. :/

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 16:51
    Zitat von 2002Andreas

    Hier in 2 Profilen vom Nightly nicht.

    Gerade Update in anderem Nightly gemacht, auch dort vorhanden. Code ist noch nicht angepasst.

  • Addons Manager Code anpassen

    • FuchsFan
    • 26. Dezember 2021 um 16:47
    Zitat von 2002Andreas

    Hier zumindest noch nicht vorhanden

    Schau mal dort, ist auch da vorhanden.

    Beitrag

    RE: Addons Manager Code anpassen

    […]

    So ↓ sieht übrigens mein Addons-Manager aus.

    Dharkness
    25. Dezember 2021 um 19:49

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon