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. Endor

Beiträge von Endor

  • Tab Schließen Javascript

    • Endor
    • 7. November 2020 um 17:34

    Hallo aborix vielen Dank funktioniert bestens.

    :klasse:

    Mfg.
    Endor

  • Ton eingang funktioniert nicht

    • Endor
    • 6. November 2020 um 21:43

    AngelOfDarkness

    Hatte ich. Im verlinkten Beitrag steht weiter unten:
    5. Kehre zu Discord zurück und hebe die Stummschaltung für dein Mikrofon auf!

    Hat das der TE gemacht?

    Mfg.
    Endor

  • Tab Schließen Javascript

    • Endor
    • 6. November 2020 um 21:25

    Hallo FuchsFan

    mit diesem CSS Code geht es:

    CSS
    #close-tab-buttonPanel > hbox:nth-child(1) > toolbarbutton:nth-child(1){min-width: 17px !important; margin-top: -2px !important;}

    Jetzt müsste man diesen nur noch ins Script einbauen, bloß wie? :/

    Mfg.
    Endor

  • Ton eingang funktioniert nicht

    • Endor
    • 6. November 2020 um 21:14

    Vielleicht hilft Dir das ja schon weiter:

    https://support.discord.com/hc/de/articles…fon-in-Firefox-

    Mfg.
    Endor

  • Tab Schließen Javascript

    • Endor
    • 6. November 2020 um 17:56

    Hallo FuchsFan.

    Ja das kann ich bestätigen.

    Im Rote Quadrat ist eine Schaltfläche,

    aber eben nur ganz Links.

    Mir wäre auch lieber wenn sie so breit wie

    das ganze rote Quadrat wäre. Nur habe ich keine Ahnung wie man das hin kriegt.

    Habe nur das Feld per CSS breiter bekommen aber eben nicht die Schaltfläche.

    Vielleicht hat aborix eine Idee. Wäre toll.

    Mfg.

    Endor

  • Tab Schließen Javascript

    • Endor
    • 4. November 2020 um 20:30

    Kurze Frage, ist das ein user Chrome Script?

    Wenn ja, ich hätte da eins auf Lager, das funktioniert auch auf der Einstellungen Seite.

    Funktion:

    Linke Maustaste gedrückt halten ca 3 Sekunden und loslassen, es erscheint beim Mauszeiger

    ein rotes Quadrat da draufklicken und der Tab wird geschlossen.

    Script:

    JavaScript
    //CloseActiveTabButtonPanel.uc.js
    
    
    (function() {
    
    
    if (location != 'chrome://browser/content/browser.xhtml') return;
    
    
    try {
    
    
    const NSxul = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
    
    
    const browser = gBrowser;
    var dTime, uTime, dX, dY, uX, uY;
    //Mausklick Zeit und die Koordinaten angeben
    browser.addEventListener('mousedown', function(event){
    dTime = new Date().getTime();
    dX = event.clientX;
    dY = event.clientY;
    }, false);
    // mouseupで時間と座標をセット
    browser.addEventListener('mouseup', function(event){
    uTime = new Date().getTime();
    uX = event.clientX;
    uY = event.clientY;
    // mousedown時の値と比較してパネルオープン
    if ((uTime - dTime >= 500) && (dX == uX) && (dY == uY)) {
    document.getElementById('close-tab-buttonPanel')
    .openPopup(null , 'overlap' , dX - 4 , dY - 4 , false, false );
    }
    }, false);
    
    
    // ポップアップするパネルとボタン cssをもっとちゃんと設定すればもっと良くなるはず
    const panelpanel = document.createElementNS(NSxul, 'panel');
    panelpanel.setAttribute('id', 'close-tab-buttonPanel');
    panelpanel.setAttribute('style',
    'min-height: 18px; height: 18px; min-width: 18px; width: 18px; background: red;');
    document.getElementById('mainPopupSet').appendChild(panelpanel);
    // このボックスに色んなボタンを入れればコンパネみたいになるかも
    const panelbox = document.createElementNS(NSxul, 'hbox');
    panelpanel.appendChild(panelbox);
    
    
    const panelbutton = document.createElementNS(NSxul, 'toolbarbutton');
    panelbutton.setAttribute('tooltiptext',
    'Tab schließen');
    panelbutton.setAttribute('oncommand',
    'gBrowser.removeCurrentTab();' +
    'document.getElementById("close-tab-buttonPanel")' +
    '.hidePopup();');
    panelbox.appendChild(panelbutton);
    
    
    } catch(e) {};
    })();
    Alles anzeigen

    Farbe und Größe des Quadrats kann man im Script ändern.
    Auch Zeitpanne bis zum Anzeigen des Quadrats ist im Script anpassbar.

    Mfg.
    Endor

  • Datei/Neues Fenster und Hamburger Menü/Anpassen

    • Endor
    • 31. Oktober 2020 um 17:39

    Hallo Boersenfeger.

    Klar, Du hast ja den entsprechenden Eintrag schon im Code.

    FuchsFan aber nicht, daher sein Problem.

    Mfg.
    Endor

  • Datei/Neues Fenster und Hamburger Menü/Anpassen

    • Endor
    • 31. Oktober 2020 um 17:34

    Gerne. :)

    Mfg.
    Endor

  • Datei/Neues Fenster und Hamburger Menü/Anpassen

    • Endor
    • 31. Oktober 2020 um 17:22

    Teste mal so:

    CSS
    #menuitem_application{
    -moz-appearance:none!important;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAf1JREFUeNqcU01rFEEQfT3dPTNumA1eNAaNu8uGgC7mEFRQsooIwY8EvAie/AuCHoSIwVMO+RdePHgQNxgjKLgBxRg8CLmIUXIQlXiKwcPsZrrtqtmZDAiiqZ4H1TX1Xnd1dYs9009a5UBOGmtBQ+DvZh2EG54Q+Bkn8ypy5Nmpk+gmCSf8iwCZlhK3W8uTqpMYDEQ+7r38Co+0hddLdKnWpKIFVbdRUHTm7CCI6wQsLtRKDnX8rxFXUe1kX9Y30P5wFZ9+tHle33cGzZGHrtZfuL9qsPwt3dmJAwbXjxgMVuogrpephUGENUceHbrCWNtoIwwjlIIQb75LjB6rMMgvBUG+i1xAB5rrOzwwxqA6ta8dFB/cwXIKmlBuZipXksDRoQk8enuH541DExCSqBrNisb8q3WOj1d9F/cLAr2+CJXg4qlFXO6Jm20giWNu7I3xPtw818fxpGsRd3Z6qrK+qjCA92AO6t0Lnm+PnYe4dsslGCy1fHxelRyvNRI0p+L8TuRnoNx/sfIMqO5liJVFjvlK4+N7idoIGORLpf48RA651baqwwzy/axKt9T+4RRp1wuH6BVumT59CdHzhVTZ+Zk1jgOvH+/42YVnbvnugt2tEVd1tjaX+meeNrvuWhpRfE6WP9FrU/YerE0ztPRAXPLpEfRjd7b5W4ABADHq3/JZmI5FAAAAAElFTkSuQmCC") no-repeat !important;
    min-height: 24px!important;
    padding-left:4px!important;
    background-position:6px 5px!important;}
    
    
    #menuitem_application:hover{
    -moz-appearance:none!important;
    margin-right: -1px !important;
    background: #ecf0f6 url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAf1JREFUeNqcU01rFEEQfT3dPTNumA1eNAaNu8uGgC7mEFRQsooIwY8EvAie/AuCHoSIwVMO+RdePHgQNxgjKLgBxRg8CLmIUXIQlXiKwcPsZrrtqtmZDAiiqZ4H1TX1Xnd1dYs9009a5UBOGmtBQ+DvZh2EG54Q+Bkn8ypy5Nmpk+gmCSf8iwCZlhK3W8uTqpMYDEQ+7r38Co+0hddLdKnWpKIFVbdRUHTm7CCI6wQsLtRKDnX8rxFXUe1kX9Y30P5wFZ9+tHle33cGzZGHrtZfuL9qsPwt3dmJAwbXjxgMVuogrpephUGENUceHbrCWNtoIwwjlIIQb75LjB6rMMgvBUG+i1xAB5rrOzwwxqA6ta8dFB/cwXIKmlBuZipXksDRoQk8enuH541DExCSqBrNisb8q3WOj1d9F/cLAr2+CJXg4qlFXO6Jm20giWNu7I3xPtw818fxpGsRd3Z6qrK+qjCA92AO6t0Lnm+PnYe4dsslGCy1fHxelRyvNRI0p+L8TuRnoNx/sfIMqO5liJVFjvlK4+N7idoIGORLpf48RA651baqwwzy/axKt9T+4RRp1wuH6BVumT59CdHzhVTZ+Zk1jgOvH+/42YVnbvnugt2tEVd1tjaX+meeNrvuWhpRfE6WP9FrU/YerE0ztPRAXPLpEfRjd7b5W4ABADHq3/JZmI5FAAAAAElFTkSuQmCC") no-repeat !important;
    border-width: thin !important;
    border-radius: 4px !important;
    border-color: #aecff7 !important;
    border-style: solid !important;
    min-height: 24px!important;
    padding-left:3px!important;
    background-position:5px 4px!important;}
    Alles anzeigen

    Da ist noch mein Symbol eingebaut.

    Mfg.
    Endor

  • Nightly - neuer Eintrag in Lesezeichensymbolleiste

    • Endor
    • 31. Oktober 2020 um 16:07

    Den habe ich damit ausgeblendet:

    Code
    #OtherBookmarks {display: none! important;}

    Mfg.
    Endor

  • In memoriam

    • Endor
    • 31. Oktober 2020 um 16:05

    Schade, wieder einer der Großen weniger.

    Toller Schauspieler, James Bond aber auch zbs. Jagt auf roter Oktober uvm.

    R.I.P.

    Mfg.
    Endor

  • Datei/Neues Fenster und Hamburger Menü/Anpassen

    • Endor
    • 31. Oktober 2020 um 16:02

    Ja genau so ist es jetzt. Aus checkbox wurde radio

    Hier der Teil dafür:

    CSS
    menu[label="Lesezeichen-Symbolleiste"] menuitem[type="radio"][checked="true"]>.menu-iconic-left{
    -moz-appearance: none!important;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB+0lEQVQ4EdWSsWtTURTGf+/mvbzGtE1CUy01KaZUwdJBB7EgxaFYnKQO6tK6ubj0P7Ao7uKqg4MiqIPg4OJQUByKDlKiojUophFrQ0JLaVqSvnrOJa88tf+ABz7OPed85+Ocey/89+bssYHDBaZY5xwBp2zd8JpOnvGEBxLvRHv+FjDmPLMDeXNt+swV8gcLlluufOX+i7t8Lwc3gqdcl2QQisTCg3iTnObyQM65dXVqhrHhcY7lTzDYO0Q220Ou0EepMn96a4hvzQUWhG8ncdsCOonrNZkcOTpIy1nlS/0tb348t+VMYr/Naa1aKU1K8qGgKdiJCnh+gtHtzAqf6nNUN3vxpKrKPzfgV2OF7UwN5UjKE7SiAnLGS/g4tWCNXNLFxNdxjYwlS8aluGECSvU1lKNcQUNAOIGeje/xLuUwkemukRRKXKieiBhBIMyuJVCOcrVBLSoQdBjmuhtM9KchIZUevx/fTVJrLBLzIb0JypG+PV8htjzP0qGTdO5LcXwkf5bDXeP0xUdpmSzFz+8pF7n38iZ3RGBVoJdo91GvptOkBLmLt7mUPsLYgUJ+2PVTLC8WP1Q/8urxDI+kLotYAb3EPwTsU0pORbJt3yFeTYa3TdW2ty+gBW2KWigiG6MI70gbttrYbZb4HwHNqalQCI3114XQeNd+A4TrhLZ6UjvfAAAAAElFTkSuQmCC")no-repeat !important;
    height:15px!important;
    padding-top:1px!important;
    margin-left:5px !important;}
    
    
    menu[label="Lesezeichen-Symbolleiste"] menuitem[type="radio"][checked="true"]>.menu-iconic-text {
    -moz-appearance: none!important;
    padding-left:9px !important;}
    
    
    menu[label="Lesezeichen-Symbolleiste"] menuitem[type="radio"]>.menu-iconic-left{
    -moz-appearance: none!important;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAcVJREFUeNqkk88rw2Ecx9/P18YorRlh4zAHB25KKXNSO8rJCinKef8BcXdwVpT8iLKaOw4oF6VWbpqwTc3iO9bItq/P59n3mSd221Of79Pz+fF6Pj+er7AsC/UsA3WuugEO/gghdJ2YBmYLwAQVNyoVwGUzcLwH7NCxWjOXL+TnF2DMAMt+w1gaX1yELxCQylQigZONDSTL5dVdYIVU5VoAYwGY6xJiayoSgT8YhNsGmARIXlzgcH0dz5Y1vwlsM4RjHSptLoewk4N9fTBeX/F2dYV0LCYNrs5OqWNb6u5uklRUDb45CR3gbARGPJkMzNNTFL1eSWfDezyOj2wWHtME+7AvSVEH8HJSo0Qpl0MrldSSz0tAg+p2qQSTbM32ZSSF6hRUA2mmN7SHOio3VQEsfL6vzP1GH78OKJP2jJxDvt5egEqB212xUDYtbW1wPDxw5Jmagg7g2X6vAUdDQH/28XHeGwoB9hQY9haN4h3YYh/VQNk8bYwM4yt79oHwMDDm6+4ekO8gnb69Bs7DwAEdn3iy3MS/70BokHZ7d9kZftpBLyq48o7+v0QFabJFlcgBX7YUVfq1ADpIieqRpf8HCvAjwAA0E7DxN+mXlAAAAABJRU5ErkJggg==")no-repeat !important;
    height:15px!important;
    padding-top:1px!important;
    margin-left:6px !important;}
    
    
    menu[label="Lesezeichen-Symbolleiste"] menuitem[type="radio"]>.menu-iconic-text {
    -moz-appearance: none!important;
    padding-left:8px !important;}
    Alles anzeigen

    für Radio verwende ich andere Symbole als bei Checkbox.

    Mfg.
    Endor

  • Datei/Neues Fenster und Hamburger Menü/Anpassen

    • Endor
    • 31. Oktober 2020 um 11:03

    Hallo FuchsFan

    Danke für den Hinweis! :klasse:

    Dieser neue Eintrag ist auch in der Menüleiste - Ansicht - Symbolleisten vorhanden.

    CSS Code für beides bitte testen:

    CSS
    #toggle_PersonalToolbar{
    -moz-appearance:none!important;
    background: url("data:image/gif;base64,R0lGODlhEAAQAOYAAODg8svN8svN8d/g8+Dh89/g8uPk9svO8srN8cvO8dHU9dXX8mpulN/h8+zt92htk2Zrj3F2nNrd9ePl9WJojmRqj2xymHR6oG91mHd9on+FqnyCpoCGqn6EqICGqb7D3+nr9vLz+VxjiHmApO/x+Gh2kktvoyxXjzFbkjdgljpjmD1lmkBonUFonURrn0dtoUpwo01zpk90p091p1F2qCtWjSxXjS5ZkDFckjNdkzNekzZgljljmD1mmkR2qrrV7ajL6bHR7MHZ7k6c1VOe1mWo2m6t3Xqz35zG51yk2IS74pHC5On3//H6/+35//D6/+z5/9Xz/+n5/+z6/+36/+f5//H8//D8/2tiPmpiPmpiP2tiP3hpO4ZxNnhoO5R3MZN4MYZwNp18L////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGMALAAAAAAQABAAAAe9gGOCg4SFgjUnNzg6Ozw9LC4vJjEzNGM+Q0RJRUZHSktIQEE/QpY1NjcoOSkqKy2RMDEyliIhtre3JA4gIBpjFBMGNQ0lBTUFJQADDQQcvxILCx/S1NPRzhQKAggJB94CAeAJAtgUFRAPDBYYERcZIxsdHmNiUfb3+PdiY2BRUlX/pEhhQpBglS9jukSBMmWKEycNI06hEmaMlyhPrjxpcuVKE45WrDzhMiaLFpNYtmzRspKlSiyGYsqcKSgQADs=") no-repeat !important;
    min-height: 24px!important;
    padding-left:4px!important;
    background-position:6px 5px!important;}
    
    
    #toggle_PersonalToolbar:hover{
    -moz-appearance:none!important;
    margin-right: -1px !important;
    background: #ecf0f6 url("data:image/gif;base64,R0lGODlhEAAQAOYAAODg8svN8svN8d/g8+Dh89/g8uPk9svO8srN8cvO8dHU9dXX8mpulN/h8+zt92htk2Zrj3F2nNrd9ePl9WJojmRqj2xymHR6oG91mHd9on+FqnyCpoCGqn6EqICGqb7D3+nr9vLz+VxjiHmApO/x+Gh2kktvoyxXjzFbkjdgljpjmD1lmkBonUFonURrn0dtoUpwo01zpk90p091p1F2qCtWjSxXjS5ZkDFckjNdkzNekzZgljljmD1mmkR2qrrV7ajL6bHR7MHZ7k6c1VOe1mWo2m6t3Xqz35zG51yk2IS74pHC5On3//H6/+35//D6/+z5/9Xz/+n5/+z6/+36/+f5//H8//D8/2tiPmpiPmpiP2tiP3hpO4ZxNnhoO5R3MZN4MYZwNp18L////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGMALAAAAAAQABAAAAe9gGOCg4SFgjUnNzg6Ozw9LC4vJjEzNGM+Q0RJRUZHSktIQEE/QpY1NjcoOSkqKy2RMDEyliIhtre3JA4gIBpjFBMGNQ0lBTUFJQADDQQcvxILCx/S1NPRzhQKAggJB94CAeAJAtgUFRAPDBYYERcZIxsdHmNiUfb3+PdiY2BRUlX/pEhhQpBglS9jukSBMmWKEycNI06hEmaMlyhPrjxpcuVKE45WrDzhMiaLFpNYtmzRspKlSiyGYsqcKSgQADs=") no-repeat !important;
    border-width: thin !important;
    border-radius: 4px !important;
    border-color: #aecff7 !important;
    border-style: solid !important;
    min-height: 24px!important;
    padding-left:3px!important;
    background-position:5px 4px!important;}
    
    
    #toggle_PersonalToolbar > menupopup > menuitem[type="checkbox"][checked="true"]>.menu-iconic-left{
    -moz-appearance: none!important;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACy0lEQVR42mL8//8/AyUAIIBYwlbzMvxj/M/w+/c/hj8//zEw/mFi+P/vPwPbXwaG/ywMDN88fjN8lv3LgGwNiM3KwMCi8YQ7ESCAWPCZDjSHgesQK4Ow4X8GTp5/DP+g4kyMjAw//7CXMPxk0gQIICZ8BvwHyrL/Btp2no3h6g8mhkNcDAyHuRkY3n9hM2M+z9zC+INhM0AAsRDyI8iQH8wMDMKP2BkEPzEyMHMw6Py6x7DyGxPDTRaGP5sBAoiFmIBiBGKBL4wMrIxMcj8fM6z99uafAo/Sv/D/n//9BAggFmJDG+gSla+f/q/99e6/GoPk/733hP6tBQUKQAAx/Wf4D7Tgvz0kYHFoZmQw/f2LYf3f7//1GPkZvjP/+1nB/+TnX/7nPxkAAojpK+P//7/+M2QxMjDOASYJYXh8Aen//xjY/jAzZf9jYdrNyMKgw8rGyPCd+1/RQ1nGM89kWBhAGCCAWD6y/mPg/MawToSTeQUTG5PVzw//1/z/w3DxLzODJCs3YyiLAIMlE9CjTEA/fHn6ZwX7i58zZB4C+WxAC4BpBSCAGN2mMzH8+/mfjYeXZ5OkupD79z9fGL5//w5U8Q+siIWJlYGHVZDh5fOPD79+/GTLzPn/McM3BoZ3FxkYHh1hYAAIIEbJVUDn6oOCmknM7rzsOmMdHevfzN8Zvv36CvYDN7sAw9M7z/7sZ7nh/Vbp764fBxkY/sxmYPh6CuJTgABi/rKLgeEL0ElfRP9/5br7aTPzJxYVTQVDTSURHQYJHiWGr59+MJw6dLzoy7nfy95NZ2D4OI2B4fdTRAADBBAK4hBkYBA3YmCwzBTJq98e9Grzm9b/3o3yc4RVgV7BoQcggBihGCTPBo1KEPsfuwiDsZKRgM+9kx+W//zI8Ayah35B8W8YDRBAIM1MUI3sUEM4oDQo7wDDmYEHahlM808k/AsgwADeMftGyFih2QAAAABJRU5ErkJggg==")no-repeat !important;
    height:15px!important;
    padding-top:1px!important;
    margin-left:5px !important;}
    
    
    #toggle_PersonalToolbar > menupopup > menuitem[type="checkbox"][checked="true"]>.menu-iconic-text {
    -moz-appearance: none!important;
    padding-left:9px !important;}
    
    
    #toggle_PersonalToolbar > menupopup > menuitem[type="checkbox"]>.menu-iconic-left{
    -moz-appearance: none!important;
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA9UlEQVQ4jd2RIW/DMBBGDwYGhg4GBpYOGu6vFIYWDh40NSwsNB00NDxqGHjwDTSpqmppxybtpE828Ht3tkX+T7kqHt7xYcCHAQsH7DTTWmNpjZfw0r/hIrc0EbL0lOOMmeHu+xIPAe7gZRV8iXCZJnLOmNkTwTD80P2ac9cTY3w+xSZYRLANFOEiQuo6VJVa677AwgFb4csGd9c1TSOqSillX1A/T2Tpb13Pa5IIKXyQUqLWuv8bZkY+HknTeB1ZOuI0kkIgzqdfPKI7ZkbOmRgjqoqqEmMk5/z8/o8SM6OUQimFWiutNdz9tWCTbAcf9y/hP6tvWI4ZNaI8m+EAAAAASUVORK5CYII=")no-repeat !important;
    height:15px!important;
    padding-top:1px!important;
    margin-left:6px !important;}
    
    
    #toggle_PersonalToolbar > menupopup > menuitem[type="checkbox"]>.menu-iconic-text {
    -moz-appearance: none!important;
    padding-left:8px !important;}
    Alles anzeigen

    Mfg.
    Endor

  • FAQ: Vertikale, schmale Tableiste möglich ?

    • Endor
    • 29. Oktober 2020 um 16:54

    So schmal, also 20, wird nicht gehen.

    Teste mal 150 oder so, das denke ich könnte eher gehen.

    Firefox neu starten und dabei den Scriptcache löschen lassen, weißt Du sicher.

    Mfg.
    Endor

  • FAQ: Vertikale, schmale Tableiste möglich ?

    • Endor
    • 29. Oktober 2020 um 16:34

    Hatte ich ja hinterher gesehen und daher wieder gelöscht.

  • FAQ: Vertikale, schmale Tableiste möglich ?

    • Endor
    • 29. Oktober 2020 um 14:27

    Schau dir mal dieses Script an:

    https://github.com/alice0775/user…LiteforFx.uc.js

    Angehäftete Tabs werden aber noch nicht unterstützt, laut Hinweis vom Autor.

    Script:

    JavaScript
    // ==UserScript==
    // @name           verticalTabLiteforFx.uc.js
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    CSS入れ替えまくりLiteバージョン
    // @include        main
    // @compatibility  Firefox 78ESR
    // @author         Alice0775
    // @note           not support pinned tab yet
    // @version        2020/10/21 12:00 fix resize vtb when drag Sidebar splitter
    // @version        2020/10/18 00:00 fix detach Tab Threshold
    // @version        2020/09/25 05:00 use ResizeObserver instead resize event
    // @version        2020/09/25 05:00 adjust allTabsMenu to make including pinned tab
    // @version        2020/09/23 01:30 cosme label pinned
    // @version        2020/09/25 01:00 dblclick splitter toggle tabbar
    // @version        2020/09/25 01:00 check gBrowserInit.delayedStartupFinished
    // @version        2020/09/23 01:00 cosme
    // @version        2020/09/21 01:00 force ReducedMotion for tab manuplation
    // @version        2020/09/21 00:00 78ESR fix close button
    // @version        2020/09/16 20:00 78ESR make tab resizabe (todo pinned tab)
    // @version        2020/09/16 10:00 78ESR fix fullscreen window controls(wip, todo pinned tab)
    // @version        2020/09/16 00:00 78ESR fix fullscreen navbar(wip, todo pinned tab)
    // @version        2020/09/15 00:00 78ESR (wip, todo pinned tab)
    // @version        2019/10/23 00:00 68ESR fix multiselect mark
    // @version        2019/10/22 00:00 68ESR
    // ==/UserScript==
    "user strict";
    // We should only start the redirection if the browser window has finished
    // starting up. Otherwise, we should wait until the startup is done.
    if (gBrowserInit.delayedStartupFinished) {
      verticalTabLiteforFx();
    } else {
      let delayedStartupFinished = (subject, topic) => {
        if (topic == "browser-delayed-startup-finished" &&
            subject == window) {
          Services.obs.removeObserver(delayedStartupFinished, topic);
          verticalTabLiteforFx();
        }
      };
      Services.obs.addObserver(delayedStartupFinished,
                               "browser-delayed-startup-finished");
    }
    
    function verticalTabLiteforFx() {
      let verticalTabbar_maxWidth = 225;  /* タブバーの横幅 px */
      let verticalTab_height = 18;  /* タブの高さ px */
      /* not yet */
      //let verticalTabPinned_width = 27; /* ピン留めタブの横幅 px */
      //let verticalScrollbar_width = 11; /* スクロールバー幅 px */
    
      let verticalTabbar_minWidth = Services.prefs.getIntPref("browser.tabs.tabMinWidth", 0);
      let verticalTabbar_width = Services.prefs.getIntPref("ucjs.tabWidth", verticalTabbar_maxWidth);
    
      var css =`@-moz-document url-prefix("chrome://browser/content/browser.xhtml") {
    
      /* vertical tabs */
      #vtb_TabsToolbar {
        max-width: ${verticalTabbar_maxWidth}px !important;
        min-width: calc(0px + ${verticalTabbar_minWidth}px) !important;
        width: ${verticalTabbar_width}px !important;
        background-color: transparent;
      }
    
      #vtb_splitter:not([state="collapsed"]) {
        -moz-appearance: none !important;
        border: 0 solid !important;
        min-width: 1px !important;
        width: 4px !important;
        background-image: none !important;
        background-color: transparent !important;
        margin-inline-start: -4px !important;
        position: relative;
      }
    
      #tabbrowser-tabs {
        height: calc(100vh - 2 * ${verticalTab_height}px) !important;
      }
    
      .tabbrowser-tab {
        max-height: ${verticalTab_height}px !important;
        font-size: calc(${verticalTab_height}px - 3px) !important;
      }
    
      .tabbrowser-tab:not([pinned]) {
        width: auto !important;
        max-width: auto !important;
        transition: none !important;
      }
      
      .tabbrowser-tab::after, .tabbrowser-tab::before {
        border-left: none !important;
      }
    
      /* put scrollbar at left side */
      #tabbrowser-tabs {
        direction: rtl; /*scroll bar position*/
      }
      .tabbrowser-tab {
        direction: ltr; /*scroll bar position*/
      }
      /* be able to drag scrollbar thumb */
      scrollbox[part] > scrollbar {
        -moz-window-dragging: no-drag;
      }
    
      /* hide */
      #tabs-newtab-button,
      .titlebar-spacer[type="pre-tabs"],
      .tab-drop-indicator {
        display: none !important;
      }
    
    
      /* always show toolbuttons*/
      tabs:not([overflow="true"]):not([hashiddentabs]) ~ #new-tab-button,
      tabs:not([overflow="true"]):not([hashiddentabs]) ~ #alltabs-button {
          display: -moz-box !important;
      }
    
      /*DOMFullScreen*/
      :root[inFullscreen][inDOMFullscreen] #vtb_TabsToolbar {
        display: none;
      }
      /*FullScreen*/
      :root[inFullscreen]:not([inDOMFullscreen]) #vtb_TabsToolbar:not(:hover) {
        max-width: 1px !important;
        min-width: 1px !important;
        opacity: 0;
        visibility: visible !important;
        transition: .5s;
      }
      :root[inFullscreen]:not([inDOMFullscreen]) #vtb_TabsToolbar:hover {
        visibility: visible !important;
        transition: .2s;
      }
      
      :root[inFullscreen] #vtb_splitter {
        display: none;
      }
    
      /*Print Preview*/
      :root[printpreview] #vtb_TabsToolbar {
        display: none;
      }
    
      /*Popup window*/
      :root[chromehidden*="toolbar"] #vtb_TabsToolbar {
        display: none;
      }
    
      /* height of menu bar */
      :root:not([tabsintitlebar]) #toolbar-menubar {
        height: 30px;
      }
      :root:not([tabsintitlebar]) #main-menubar {
        padding-top: 4px;
      }
    
      /*  */
      :root:not([inFullscreen])[tabsintitlebar][Menubarinactive] #titlebar {
         margin-top:-32px;
      }
    
      /* window control and  drag space */
      :root[tabsintitlebar]:not([Menubarinactive]) #nav-bar .titlebar-buttonbox{
         display: none !important;
      }
      :root:not([inFullscreen])[tabsintitlebar]:not([Menubarinactive]) .titlebar-spacer[type="post-tabs"] {
         display: none !important;
      }
      :root:not([inFullscreen])[tabsintitlebar][Menubarinactive] .titlebar-spacer[type="post-tabs"] {
         display: -moz-box !important;
      }
    
      :root[inFullscreen]:not([tabsintitlebar]) .titlebar-buttonbox-container,
      :root[inFullscreen]:not([tabsintitlebar]) .titlebar-buttonbox {
          display: none !important;
      }
        
    /*  :root[inFullscreen]:not([tabsintitlebar]) #window-controls {
          display: none;
      }
    */
    
      :root[inFullscreen] .titlebar-restore {
          display: -moz-box !important;
      }
      :root[inFullscreen] .titlebar-max {
          display: none !important
      }
    
      /*cosme*/
      .tab-content {
        padding: 0 2px !important;
      }
      .tab-label {
          line-height: 1.5em !important;
      }
      .tab-label-container[textoverflow][labeldirection="ltr"]:not([pinned]),
      .tab-label-container[textoverflow]:not([labeldirection]):not([pinned]):-moz-locale-dir(ltr)   {
          direction: ltr;
          mask-image: linear-gradient(to left, transparent, black 0.5em) !important;
      }
      /*scrollbar color*/
      toolbar[brighttext] #tabbrowser-tabs * {
        scrollbar-color: rgba(249,249,250,.4) rgba(20,20,25,.3) !important;
      }
    
     /*bollow css code from https://egg.5ch.net/test/read.cgi/software/1579702570/676 */
      /* ピン留めしたタブのタイトルをグラデーション表示 */  
      #vtb_TabsToolbar .tab-label-container[textoverflow][labeldirection=ltr][pinned] {
          mask-image: linear-gradient(to left, transparent, black 0.5em)!important;
      }
      /* ピン留めしたタブicon左右位置調整 */
      .tab-throbber[pinned],
      .tab-sharing-icon-overlay[pinned],
      .tab-icon-pending[pinned],
      .tab-icon-image[pinned] {
        margin-inline-end: 6px;
      }
      /* ピン留めしたタブに閉じるボタンを表示する・左右位置調整 */
      #vtb_TabsToolbar .tabbrowser-tab[pinned]:not([tabProtect]) .tab-close-button {
        visibility:visible !important;
        display: unset !important;
        margin-inline-end: -2px;
      }
      /* ピン留めしたタブのサウンドアイコン */
      #vtb_TabsToolbar .tab-icon-overlay:-moz-any([soundplaying],[muted],[activemedia-blocked]),
      #vtb_TabsToolbar .tab-icon-overlay:-moz-any([soundplaying],[muted][activemedia]) {
        display: none !important;;
      }     
      #vtb_TabsToolbar .tabbrowser-tab[pinned] .tab-icon-sound[soundplaying] {
        color: #00ACE5;
        visibility: visible;
        display: unset !important;
      }
      #vtb_TabsToolbar .tabbrowser-tab[pinned] .tab-icon-sound[muted] {
        color: #FF6E00;
        visibility: visible;
        display: unset !important;
      } 
      /* ピン留めしたタブにピンマークを付ける */
      #vtb_TabsToolbar .tabbrowser-tab[pinned="true"] .tab-content::before {
        content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOCAYAAAD9lDaoAAABPUlEQVQokY3RTUtCQRTG8WnRNwj6DDkzotwLBoVBZLeIgsCglYvAct0LSLlICIqLm7LAIIQIAqMWiULaQsyITOkFgtpEuwokiJDE9J6nXWpG9F8efnAOM4zVVY6PH9B+NygxUC7nnSsAWtjPimdOlxF1gI7HQLkJ0OM0KpWQowEZJ2rweUuiuGNDKeUGPfhhvK+jAVFGgo4sKAQFVgcFZq3ielNRWr9BNTfqQtoMIyJw5eNYUAUCw0obY4wxHNraKd71RGkJSprxFuKIuARmpHyprUhxIClBSSuMPY5bP8dipwlrI6q1hrLqPeWHQFEFpTDHpc+E2JSKarY30XDwZ6bvhuJ2vG504MLLcTon8bHbQ01vFA54z++WbfnYJC8s2UVB1yzzTUjTtO2mYX26rvf/+gX1eTwe95/gP30BeHKkcA2on8MAAAAASUVORK5CYII=") !important;
        position: absolute !important;
        z-index: -1 !important;
        margin-left: 13px !important;
        margin-right: 0px !important;
        margin-top: -14px !important;
        display: block !important;
        filter: saturate(150%) !important;
      }
      /* タブのfaviconよりもピンマークを上にする */
      #vtb_TabsToolbar .tabbrowser-tab[pinned="true"] .tab-icon-image {
        position: relative !important;
        z-index: -2 !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);
    
    
      var ref = document.getElementById('SM_toolbox') ||
                document.getElementById('sidebar-box') ||
                document.getElementById("appcontent");
      var vtbTabsToolbar = document.createXULElement('hbox');
      vtbTabsToolbar.setAttribute("id", "vtb_TabsToolbar");
      document.getElementById("browser").insertBefore(vtbTabsToolbar, ref);
      var tabsToolbar = document.getElementById('TabsToolbar');
      vtbTabsToolbar.appendChild(tabsToolbar);
      //prepare for splitter
      var vtbSplitter = document.createXULElement("splitter");
      vtbSplitter.setAttribute("id", "vtb_splitter");
      vtbSplitter.setAttribute("state", "open");
      vtbSplitter.setAttribute("collapse", "before");
      vtbSplitter.setAttribute("resizebefore", "closest");
      vtbSplitter.setAttribute("resizeafter", "closest");
      document.getElementById("browser").insertBefore(vtbSplitter, ref);
    
      tabsToolbar.setAttribute("orient", "vertical");
      tabsToolbar.querySelector(".toolbar-items").setAttribute("orient", "vertical");
      tabsToolbar.querySelector(".toolbar-items").removeAttribute("align");
      tabsToolbar.querySelector("#TabsToolbar-customization-target").setAttribute("orient", "vertical");
    
      // scrollbar
      gBrowser.tabContainer.setAttribute("orient", "vertical");
      var arrowScrollbox = gBrowser.tabContainer.arrowScrollbox;
      arrowScrollbox.setAttribute("orient", "vertical");
      var scrollbox = arrowScrollbox.shadowRoot.querySelector("scrollbox");
      scrollbox.setAttribute("orient", "vertical");
      scrollbox.style.setProperty("overflow-y", "auto", "");
      scrollbox.style.setProperty("scrollbar-width", "thin", "");
    
      // hide scroll buttons
      var scrollButtonUp = arrowScrollbox.shadowRoot.getElementById("scrollbutton-up");
      var scrollButtonDown = arrowScrollbox.shadowRoot.getElementById("scrollbutton-down");
      scrollButtonUp.style.setProperty("display", "none", "");
      scrollButtonDown.style.setProperty("display", "none", "");
      var spacer1 = arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]');
      var spacer2 = arrowScrollbox.shadowRoot.querySelector('[part="overflow-start-indicator"]');
      spacer1.style.setProperty("display", "none", "");
      spacer2.style.setProperty("display", "none", "");
    
      // ignore lock tab width when closing
      gBrowser.tabContainer._lockTabSizing = function (aTab, tabWidth){};
    
      // print preview
      PrintPreviewListener._toggleAffectedChrome_org = PrintPreviewListener._toggleAffectedChrome;
      PrintPreviewListener._toggleAffectedChrome = function() {
        PrintPreviewListener._toggleAffectedChrome_org();
        if (!gInPrintPreviewMode)
          document.getElementById("main-window").removeAttribute("printpreview");
        else
          document.getElementById("main-window").setAttribute("printpreview", "true");
    
      };
    
      // control buttons
      let spacer = tabsToolbar.querySelector('.titlebar-spacer[type="post-tabs"]');
      let accessibility = tabsToolbar.querySelector('.accessibility-indicator');
      let private = tabsToolbar.querySelector('.private-browsing-indicator');
      let control = tabsToolbar.querySelector('.titlebar-buttonbox-container');
      
      ref = document.getElementById("PanelUI-button");
      ref.parentNode.insertBefore(spacer, ref);
      ref.parentNode.insertBefore(accessibility, ref);
      ref.parentNode.insertBefore(private, ref);
      ref.parentNode.insertBefore(control, ref);
      var func = FullScreen._updateToolbars.toString();
      func = func.replace(
      'document.getElementById("TabsToolbar").appendChild(fullscreenctls);',
      ''
      );
      FullScreen._updateToolbars = new Function(
             func.match(/\(([^)]*)/)[1],
             func.replace(/[^{]*\{/, '').replace(/}\s*$/, '')
      );
    
      const target = document.getElementById('toolbar-menubar');
      if (!target?.getAttribute("inactive"))
        document.getElementById("main-window").removeAttribute("Menubarinactive");
      else
        document.getElementById("main-window").setAttribute("Menubarinactive", "true");
    
      verticalTabLiteforFx.observer = new MutationObserver((mutations) => {
        mutations.forEach((mutation) => {
          if (!mutation.target?.getAttribute("inactive"))
            document.getElementById("main-window").removeAttribute("Menubarinactive");
          else
            document.getElementById("main-window").setAttribute("Menubarinactive", "true");
        });    
      });
      const config = { attributes: true, attributeFilter: ["inactive", "autohide"]};
      verticalTabLiteforFx.observer.observe(target, config);
    
      window.addEventListener("unload", function(){
        verticalTabLiteforFx.observer.disconnect();
      }, {once: true});
    
      gBrowser.tabContainer._positionPinnedTabs = function _positionPinnedTabs() {
          return;
      }
      gBrowser.tabContainer._updateCloseButtons = function _updateCloseButtons() {
          return;
      }
    
      gBrowser.removeTab_vtb_org = gBrowser.removeTab;
      gBrowser.removeTab = function removeTab(
        aTab,
        {
          animate,
          byMouse,
          skipPermitUnload,
          closeWindowWithLastTab,
          prewarmed,
        } = {}) {
        animate = false;
        gBrowser.removeTab_vtb_org(aTab,
        {
          animate,
          byMouse,
          skipPermitUnload,
          closeWindowWithLastTab,
          prewarmed,
        });
      }
    
      gBrowser.tabContainer._getDropEffectForTabDrag = function(event){return "";}; // default "dragover" handler does nothing
      gBrowser.tabContainer.lastVisibleTab = function() {
        var tabs = this.allTabs;
        for (let i = tabs.length - 1; i >= 0; i--){
          if (!tabs[i].hasAttribute("hidden"))
            return i;
        }
        return -1;
      };
      gBrowser.tabContainer.clearDropIndicator = function() {
        var tabs = this.allTabs;
        for (let i = 0, len = tabs.length; i < len; i++){
          let tab_s= tabs[i].querySelector(".tab-background").style;
          tab_s.removeProperty("box-shadow");
        }
      };
      gBrowser.tabContainer.addEventListener("drop",function(event){this.on_drop(event);},true);
      gBrowser.tabContainer.addEventListener("dragleave",function(event){this.clearDropIndicator(event);},true);
    
      gBrowser.tabContainer._getDragTargetTab = function _getDragTargetTab(event, isLink) {
        let tab = event.target;
        while (tab && tab.localName != "tab") {
          tab = tab.parentNode;
        }
        if (tab && isLink) {
          let { height } = tab.getBoundingClientRect();
          if (
            event.screenY < tab.screenY + height * 0.25 ||
            event.screenY > tab.screenY + height * 0.75
          ) {
            return null;
          }
        }
        return tab;
      }
      
      gBrowser.tabContainer.on_dragover = function(event) {
        this.clearDropIndicator();
        var effects = this._getDropEffectForTabDrag(event);
        event.preventDefault();
        event.stopPropagation();
        if (effects == "link") {
          let tab = this._getDragTargetTab(event, true);
          if (tab) {
            if (!this._dragTime) {
              this._dragTime = Date.now();
            }
            if (Date.now() >= this._dragTime + this._dragOverDelay) {
              this.selectedItem = tab;
            }
            return;
          }
        }
        var newIndex = this._getDropIndex(event, effects == "link");
        if (newIndex == null)
          return;
        if (newIndex < this.allTabs.length) {
          this.allTabs[newIndex].querySelector(".tab-background").style.setProperty("box-shadow","0px 2px 0px 0px #f00 inset, 0px -2px 0px 0px #f00","important");
        } else {
          newIndex = gBrowser.tabContainer.lastVisibleTab();
          if (newIndex >= 0)
            this.allTabs[newIndex].querySelector(".tab-background").style.setProperty("box-shadow","0px -2px 0px 0px #f00 inset, 0px 2px 0px 0px #f00","important");
        }
      };
      gBrowser.tabContainer.addEventListener("dragover", gBrowser.tabContainer.on_dragover, true);
      gBrowser.tabContainer._getDropIndex = function(aEvent, isLink) {
        var tabs = this.allTabs;
        for (let i = 0; i < tabs.length; i++){
          if (aEvent.screenY >= tabs[i].screenY &&
              aEvent.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height / 2)
            return i;
          if (aEvent.screenY >= tabs[i].screenY + tabs[i].getBoundingClientRect().height / 2 &&
              aEvent.screenY < tabs[i].screenY + tabs[i].getBoundingClientRect().height)
            return i + 1;
        }
        return tabs.length;
      };
    
      gBrowser.tabContainer.on_drop = function(event) {
        this.clearDropIndicator();
        var dt = event.dataTransfer;
        var dropEffect = dt.dropEffect;
        var draggedTab;
        let movingTabs;
        if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) {
          // tab copy or move
          draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
          // not our drop then
          if (!draggedTab) {
            return;
          }
          movingTabs = draggedTab._dragData.movingTabs;
          draggedTab.container._finishGroupSelectedTabs(draggedTab);
        }
        this._tabDropIndicator.hidden = true;
        event.stopPropagation();
        if (draggedTab && dropEffect == "copy") {
          // copy the dropped tab (wherever it's from)
          let newIndex = this._getDropIndex(event, false);
          let draggedTabCopy;
          for (let tab of movingTabs) {
            let newTab = gBrowser.duplicateTab(tab);
            gBrowser.moveTabTo(newTab, newIndex++);
            if (tab == draggedTab) {
              draggedTabCopy = newTab;
            }
          }
          if (draggedTab.container != this || event.shiftKey) {
            this.selectedItem = draggedTabCopy;
          }
        } else if (draggedTab && draggedTab.container == this) {
          let oldTranslateX = Math.round(draggedTab._dragData.translateX);
          let tabWidth = Math.round(draggedTab._dragData.tabWidth);
          let translateOffset = oldTranslateX % tabWidth;
          let newTranslateX = oldTranslateX - translateOffset;
          if (oldTranslateX > 0 && translateOffset > tabWidth / 2) {
              newTranslateX += tabWidth;
          } else if (oldTranslateX < 0 && -translateOffset > tabWidth / 2) {
              newTranslateX -= tabWidth;
          }
          let dropIndex = this._getDropIndex(event, false);
          //  "animDropIndex" in draggedTab._dragData &&
          //  draggedTab._dragData.animDropIndex;
          let incrementDropIndex = true;
          if (dropIndex && dropIndex > movingTabs[0]._tPos) {
              dropIndex--;
              incrementDropIndex = false;
          }
    
          if (false && oldTranslateX && oldTranslateX != newTranslateX && !gReduceMotion) {
            for (let tab of movingTabs) {
              tab.setAttribute("tabdrop-samewindow", "true");
              tab.style.transform = "translateX(" + newTranslateX + "px)";
              let onTransitionEnd = transitionendEvent => {
                if (
                    transitionendEvent.propertyName != "transform" ||
                    transitionendEvent.originalTarget != tab
                ) {
                  return;
                }
                tab.removeEventListener("transitionend", onTransitionEnd);
                tab.removeAttribute("tabdrop-samewindow");
                this._finishAnimateTabMove();
                if (dropIndex !== false) {
                  gBrowser.moveTabTo(tab, dropIndex);
                  if (incrementDropIndex) {
                    dropIndex++;
                  }
                }
                gBrowser.syncThrobberAnimations(tab);
              };
              tab.addEventListener("transitionend", onTransitionEnd);
            }
          } else {
            this._finishAnimateTabMove();
            if (dropIndex !== false) {
              for (let tab of movingTabs) {
                gBrowser.moveTabTo(tab, dropIndex);
                if (incrementDropIndex) {
                  dropIndex++;
                }
              }
            }
          }
        } else if (draggedTab) {
          let newIndex = this._getDropIndex(event, false);
          let newTabs = [];
          for (let tab of movingTabs) {
            let newTab = gBrowser.adoptTab(tab, newIndex++, tab == draggedTab);
            newTabs.push(newTab);
          }
          // Restore tab selection
          gBrowser.addRangeToMultiSelectedTabs(
              newTabs[0],
              newTabs[newTabs.length - 1]
          );
        } else {
          // Pass true to disallow dropping javascript: or data: urls
          let links;
          try {
              links = browserDragAndDrop.dropLinks(event, true);
          } catch (ex) {}
          if (!links || links.length === 0) {
              return;
          }
          let inBackground = Services.prefs.getBoolPref(
              "browser.tabs.loadInBackground"
          );
          if (event.shiftKey) {
              inBackground = !inBackground;
          }
          let targetTab = this._getDragTargetTab(event, true);
          let userContextId = this.selectedItem.getAttribute("usercontextid");
          let replace = !!targetTab;
          let newIndex = this._getDropIndex(event, true);
          let urls = links.map(link => link.url);
          let csp = browserDragAndDrop.getCSP(event);
          let triggeringPrincipal = browserDragAndDrop.getTriggeringPrincipal(
              event
          );
          (async () => {
            if (urls.length >=
                Services.prefs.getIntPref("browser.tabs.maxOpenBeforeWarn")
            ) {
              // Sync dialog cannot be used inside drop event handler.
              let answer = await OpenInTabsUtils.promiseConfirmOpenInTabs(
                           urls.length,
                           window
              );
              if (!answer) {
                return;
              }
            }
            gBrowser.loadTabs(urls, {
                              inBackground,
                              replace,
                              allowThirdPartyFixup: true,
                              targetTab,
                              newIndex,
                              userContextId,
                              triggeringPrincipal,
                              csp,
            });
          })();
        }
        if (draggedTab) {
          delete draggedTab._dragData;
        }
      };
    
      func = gBrowser.tabContainer.on_dragend.toString();
      func = func.replace(
      'var wX = window.screenX;',
      'var wX = window.screenX;var wY = window.screenY;'
      ).replace(
      'let detachTabThresholdY = window.screenY + rect.top + 1.5 * rect.height;',
      'let detachTabThresholdX = window.screenX + rect.left + rect.width + 100;'
      ).replace(
      'if (eY < detachTabThresholdY && eY > window.screenY) {',
      'if (eX < detachTabThresholdX && eX > window.screenX) {'
      );
      gBrowser.tabContainer.on_dragend = new Function(
             func.match(/\(([^)]*)/)[1],
             func.replace(/[^{]*\{/, '').replace(/}\s*$/, '')
      );
      
      gBrowser.tabContainer.addEventListener('SSTabRestoring', ensureVisible, false);
      gBrowser.tabContainer.addEventListener('TabSelect', ensureVisible, false);
      function ensureVisible(event) {
        setTimeout(() => {
          let tab = gBrowser.selectedTab;
          let tabContainer = gBrowser.tabContainer;
          if ( tab.screenY + tab.getBoundingClientRect().height + 1 >
                 tabContainer.screenY + tabContainer.getBoundingClientRect().height ) {
            tab.scrollIntoView(false);
          } else if ( tab.screenY < tabContainer.screenY ) {
            tab.scrollIntoView(true);
          }
        }, gReduceMotion ? 0 : 150);
      }
    
      // check width only while dragging of splitter
      const resizeObserver = new ResizeObserver(entries => {
        for (let entry of entries) {
          if(entry.contentBoxSize) {
            ensureVisible();
            if (vtbSplitter.getAttribute("state") == "dragging" ||
                SidebarUI._splitter.getAttribute("state") == "dragging") {
              let width = vtbTabsToolbar.getBoundingClientRect().width;
              if (verticalTabbar_minWidth <= width) {
                sizeofToolbottun();
                Services.prefs.setIntPref("ucjs.tabWidth", width);
              }
            }
          }
        }
      });
      resizeObserver.observe(vtbTabsToolbar);
    
      // adjust button size
      sizeofToolbottun();
      function sizeofToolbottun() {
        let width = vtbTabsToolbar.getBoundingClientRect().width;
        let btn = document.querySelector("#new-tab-button .toolbarbutton-icon");
        btn.style.setProperty("width", "auto", "");
        btn.style.setProperty("padding", "6px " + (width - 16 - 4) / 2 + "px", "");
        btn = document.querySelector("#alltabs-button .toolbarbutton-badge-stack");
        btn.style.setProperty("padding", "6px " + (width - 16 - 4) / 2 + "px", "");
      };
      // dblclick splitter toggle tabbar
      vtbSplitter.addEventListener('dblclick', vtbSplitter_toggle, false);
      function vtbSplitter_toggle(event) {
        if (vtbSplitter.getAttribute("state") == "collapsed")
          vtbSplitter.setAttribute("state", "open");
        else
          vtbSplitter.setAttribute("state", "collapsed");
      }
    
      // adjust allTabsMenu to make including pinned tab
      func = gTabsPanel.init.toString();
      func = func.replace(
      'filterFn: tab => !tab.pinned && !tab.hidden,',
      'filterFn: tab => !tab.hidden,'
      );
      gTabsPanel.init = new Function(
             func.match(/\(([^)]*)/)[1],
             func.replace(/[^{]*\{/, '').replace(/}\s*$/, '')
      );
      
    }
    Alles anzeigen

    Mfg.
    Endor

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 20. Oktober 2020 um 21:37

    Ja hier leider auch.


    Beim Kürzen, habe ich wohl etwas zu viel weggelassen....

    Neuer CSS Code kommt.....

    Mfg.
    Endor


    So hier nochmal der CSS Code, das Problem mit der Meldung

    konnte ich leider nicht beheben.

    CSS
    @-moz-document url-prefix("https://www.wetteronline.de/wetter-aktuell-karte"),
    url-prefix("https://www.wetteronline.de/aktuelles-wetter"),
    url-prefix("https://www.wetteronline.de/?gid=DL&pcid=pc_city_weather"),
    url-prefix("https://www.wetteronline.de/wetter-aktuell-toplisten"),
    url-prefix("https://www.wetteronline.de/?gid=DL&pcid=pc_aktuell_local&pid=p_aktuell_local&sid=ColorMap"),
    url-prefix("https://www.wetteronline.de/wetter-aktuell-suche"){
    
    
    #top, #searchbox, #favorites, #memberarea_wrapper, div._3Sb_2c:nth-child(12),
    #map-searchform, div.leaflet-top:nth-child(2), ._1KFpPt, div.leaflet-bottom:nth-child(4),
    #content-navigation, #header, #topcontainer, cc_banner, .cc_banner-wrapper, #ultraleftcontainer,
    .cleverpush-bell, #rightcontainer,#sidebar,#contentcontainer > footer:nth-child(2),
    .footer-background-container, #multimedia_teaser, div.linewrapper:nth-child(6),
    #footer, div.linewrapper:nth-child(5), #colormaps-teaser, #globalnavi-wrapper,
    #mapstepper, #dates, #subheader {display: none !important;}
    }
    Alles anzeigen

    Mfg.
    Endor

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 20. Oktober 2020 um 21:29

    Hier nochmal der Code, jetzt auch für die oben gewünschte Seite:

    CSS
    @-moz-document url-prefix("https://www.wetteronline.de/wetter-aktuell-karte"),
                   url-prefix("https://www.wetteronline.de/aktuelles-wetter"),
                   url-prefix("https://www.wetteronline.de/?gid=DL&pcid=pc_city_weather"){
        
        #header, #topcontainer, cc_banner, .cc_banner-wrapper, #ultraleftcontainer,
        .cleverpush-bell, #rightcontainer,#sidebar,#contentcontainer > footer:nth-child(2),
        .footer-background-container, #multimedia_teaser, div.linewrapper:nth-child(6),
        #footer, div.linewrapper:nth-child(5), #colormaps-teaser, #globalnavi-wrapper,
        #mapstepper, #dates    {display: none !important;}    
        }

    Wetteronline Seite hasse ich, die haben da allerhand Scripte die überprüfen was

    nicht geladen wird, daher dann diese Meldung.

    Muss mal sehen was ich weglassen kann, damit es doch noch funktioniert.

    Edit: habe den CSS Code mal gekürzt, bitte testen.

    Mfg.
    Endor

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 20. Oktober 2020 um 21:20

    Ja. könnte ein Serverproblem von denen sein.

    Ist hier auch so.

    Mfg.
    Endor

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • Endor
    • 20. Oktober 2020 um 20:17

    Teste mal diesen CSS Code, hoffe ich habe da nicht zu viel ausgeblendet.

    So müsste er aber sein, wenn ich den für loshombre, für seinen Wetterfuchs

    mache:

    CSS Code:

    CSS
    @-moz-document url-prefix("https://www.wetteronline.de/wetter-aktuell-karte"),
                   url-prefix("https://www.wetteronline.de/aktuelles-wetter"){
        
        #top, #searchbox, #favorites, #memberarea_wrapper, #woBillboard, div._3Sb_2c:nth-child(12),
        #map-searchform, div.leaflet-top:nth-child(2), ._1KFpPt, div.leaflet-bottom:nth-child(4),
        #content-navigation, #header, #topcontainer, cc_banner, .cc_banner-wrapper, #ultraleftcontainer,
        .cleverpush-bell, #rightcontainer,#sidebar,#contentcontainer > footer:nth-child(2),
        .footer-background-container, #multimedia_teaser, div.linewrapper:nth-child(6),
        #footer    {display: none !important;}    
        }

    Mfg.

    Endor

Unterstütze uns!

Jährlich (2026)

35,3 %

35,3% (273,24 von 775 EUR)

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