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

Beiträge von NoNameNeeded

  • Tabbar verstecken bei nur einem Tab

    • NoNameNeeded
    • 7. Mai 2022 um 20:26

    Ja, da wirst du einiges finden, was du noch nie gesehen hast....:D

    Die Sache ist die: Ich selbst habe ja keine Ahnung von den ganzen css-Codes.

    Das alles kommt aus einem "Theme" für Firefox 60+, das musste ich aber alles anpassen weil ich die Url-Bar in eine eigene Leiste verschoben habe.

    Und das bedeutete extrem viel ausprobieren usw. und um den erst mühsam zusammengklaubten Code nicht direkt wieder löschen zu müssen, habe ich ihn zum Teil mit einem x oder auch mit einer zweiten # auskommentiert.

    Typischerweise wird das wohl mit /* und */ gemacht aber das ist mir zu aufwendig.

    Eine fehlende Klammer ist aber wohl einfach nur ein Versehen und wurde nicht bewusst von mir so gemacht, die habe ich jetzt auch hinzugefügt.

  • Tabbar verstecken bei nur einem Tab

    • NoNameNeeded
    • 7. Mai 2022 um 20:06

    Kann auch sein.

    Wobei, immerhin verschwinden ja die Tabs, nur die Leiste an sich bleibt.

  • Tabbar verstecken bei nur einem Tab

    • NoNameNeeded
    • 7. Mai 2022 um 19:38

    Ich glaube dir, dass das Script funktioniert.

    Die css-Datei ganz oben würde wohl auch funktionieren.

    Nur irgendwas in den ganzen anderen css-Dateien macht dem ganzen leider einen Strich durch die Rechnung.

    Trotzdem danke für das Script, hat man wenigstens die Auswahl zw. css-Datei und Script...;)

  • Tabbar verstecken bei nur einem Tab

    • NoNameNeeded
    • 7. Mai 2022 um 19:35

    Danke, aber das Script hat scheinbar keine sichtbaren Auswirkungen.

    Dürfte wohl an den ganzen anderen css-Dateien liegen.

  • Tabbar verstecken bei nur einem Tab

    • NoNameNeeded
    • 7. Mai 2022 um 19:26

    Ich würde gerne die Tabbar verstecken wenn nur ein Tab geöffnet ist.

    So weit, so gut, dafür gibt es eine css-Datei...

    Code
    /*
    How To:
    1. Find your firefox profile folder : https://support.mozilla.org/en-
    
    US/kb/profiles-where-firefox-stores-user-data
    2. create a "chrome" folder if it doesn't exist
    3. Paste content of this gist in a "userChrome.css" file
    4. Go to about:config and set 
    
    toolkit.legacyUserProfileCustomizations.stylesheets to true
    5. Restart Firefox
    Don't hesitate to say if there are bugs, I only tested this for my 
    
    workflow : I don't use tabs
    at all but I want to see the bar if I open a tab by mistake (otherwise 
    
    I sometimes lose a tab)
    */
    
    /* Copy the default settings for --tab-min-height as --hidetabs-tab-
    
    min-height */
    :root {
        --hidetabs-tab-min-height: 30px;
    }
    
    :root[uidensity=compact] {
        --hidetabs-tab-min-height: 29px;
    }
    
    :root[uidensity=touch] {
        --hidetabs-tab-min-height: 41px;
    }
    
    /* Set --tab-min-height to 0px so tab bar can disappear */
    #tabbrowser-tabs #TabsToolbar {
        --tab-min-height: 0px;
    }
    
    
    
    /* Restore minimum height when more than one tab */
    #TabsToolbar #tabbrowser-tabs tab {
        min-height: var(--hidetabs-tab-min-height);
    }
    
    /* Collapse tab bar when there is only one tab (tab is both first & 
    
    last) */
    #tabbrowser-tabs tab[first-visible-tab="true"][last-visible-tab="true"] 
    
     {
        visibility: collapse;
    
    }
    
    
    
    /* Hide the New Tab button when there is only one tab (first visible 
    
    tab is
       adjacent to new tab button) */
    #tabbrowser-tabs tab[first-visible-tab="true"] + #tabs-newtab-button {
        visibility: collapse;
    }
    Alles anzeigen

    Diese funktioniert aber dank der unzähligen anderen css-Dateien nicht richtig.

    Zwar werden tatsächlich keine tabs angezeigt, wenn nur eines geöffnet ist, allerdings verschwindet die Leiste trotzdem nicht.

    Wohl deswegen weil nirgends wirklich angegeben ist, DASS sie verschwinden soll.

    Diese Leiste setzt sich wohl zusammen aus #navigator-toolbox #Tabs-Toolbar und einem Ding namens scrollbox (laut Browser-Werkzeuge), obwohl...zum scrollen ist da eigentlich nichts.

    Wie auch immer, ich hab's mittlerweile aufgegeben da noch weiter herumzuprobieren.

    Hier sind die anderen css-Dateien die wohl Einfluss auf das "falsche" Verhalten haben:

    CSS
    @import "icons.css";
    
    @import "statusbar.css";
    @import "toolbars.css";
    @import "contextmenu.css";
    @import "urlbar.css"; 
    @import "tabs.css"; 
    @import "Separator.css";
    
    @import "downloads.css";
    
    
    @import url("./Fx56_bookmark_buttons/userChrome_Fx56_bookmark_icons.css");
    
    
    #contentAreaDownloadsView {
        
        padding: 0px !important;
    
    }
    
    :root {
        --default-focusring: 0 !important;
    }
    
    
    
    
    #main-window {
       background-color: #C0C0C0 !important;
       color: #000 !important;
    
    
    
    }
    #reload-button {
      display: -moz-box !important;
    }
    #stop-button {
      display: -moz-box !important;
    transform: scaleX(-1) !important;
    }
    
    #stop-reload-button {
      transform: scaleX(-1) !important;
    }
    
    #reload-button {
        transform: scaleX(-1) !important;
    }
    
    *{ scrollbar-color: auto !important; scrollbar-width: auto !important; }
    
    /* Multi-Row Bookmarks Toolbar */
    ##nav-bar {
      /* Override max-height */
      min-height: unset !important;
      max-height: unset !important;
    }
    
    ##nav-bar {
      /* Override hiding */
      overflow-x: visible !important;
      overflow-y: visible !important;
      display: inline-block !important;
      padding-bottom: 1px;
    }
    
    ##nav-bar {
      /* Reduce padding to fit rows closer together */
      padding-top: 1px !important;
      padding-bottom: 1px !important;
    }
    
    #PanelUI-menu-button {
      display: none !important;
    }
    
    
    ##nav-bar-overflow-button {
      
    visibility: collapse !important;
    
    
    
    @-moz-document url-prefix() { ::-moz-focus-inner {border: none} select:-moz-focusring { color: transparent; text-shadow: 0px 0px 0px #000; } }
    
    
    #TabsToolbar {
        visibility:collapse;
    }
    
    #navigator-toolbox:hover #TabsToolbar{
        visibility: visible !important;
        
    }
    Alles anzeigen
    CSS
    /* TABS: height */
    *|*:root {
    --menubar-height: 30px;
    --bookmarkbar-height: 18.3px;
    /*--tabbar-top: calc(var(--menubar-height) + var(--bookmarkbar-height) + var(--tab-min-height) + 8px); /*89+*/
    }
    /*
    :root {
     --tab-min-height: 28px !important;
    }
    :root #tabbrowser-tabs {
     --tab-min-height: 28px !important;
    }*/
    
    /* Benutze ein Hintergrundbild für die Symbolleisten */
    menubar, toolbox, toolbar, .tabbrowser-tabs {
     xbackground-image: url("Kopie von ie2.jpg") !important;
    
       background-color: none !important;
    background-repeat: no-repeat;
     }
    
    #TabsToolbar  {
    xbackground-image: url("Kopie von ie2.jpg") !important;
    
       background-color: none !important;
    background-repeat: no-repeat;
    }
    
    #nav-bar:not(:-moz-lwtheme) {
      margin-top: 1px !important;
    background-color: inherit !important;
     background-image: url("image/xtop.png") !important;
      background-position: left bottom; 
      padding: 0 !important;
      border: 2px solid !important;
      border-top: 2px solid !important;
      border-left: 7px solid !important;
      border-image: url("image/toolbar_handle_top.png") !important;
      border-image-slice: 2 2 2 7 !important;
    height: 55px !important;
    
    }
    /*:not(#uc-toolbar)*/
    toolbar:not(#toolbar-menubar):not(#nav-bar):not(#TabsToolbar):not(:-moz-lwtheme) {
      -moz-appearance: none !important;
      background-color: inherit  !important;
      
      padding: 1px !important;
      border: 2px solid !important;
      border-left: 7px solid !important;
      border-top: 0px !important;
      border-image: url("image/toolbar_handle.png") !important;
      border-image-slice: 2 2 2 7 !important; }
    min-height: 55px  !important;
    max-height: 55px !important;
    position: absolute !important;
    background-repeat: no-repeat;
    
    #main-window[uidensity="compact"] toolbar:not(#TabsToolbar):not(#toolbar-menubar):not(#nav-bar):not(:-moz-lwtheme) {
      margin-bottom: 0px !important;
    }
    
    #toolbar-menubar {
      -moz-appearance: none !important;
      background-color: #c0c0c0 !important;
      padding: 0px !important;
      padding-left: 2px !important;
      border: 2px solid !important;
      border-left: 7px solid !important;
      border-right: 43px solid !important;
      border-bottom: 0px !important;
      border-image: url("image/menu_bar_handle.png") !important;
      border-image-slice: 2 43 2 7 !important; }
    opacity: 0.5;
    
    #main-window[tabsintitlebar="true"] #toolbar-menubar {
      border: none !important;
      height: 100% !important;
      background-image: linear-gradient(to right, #000060,#A1C4E9) !important;
    } 
    
    #main-window[tabsintitlebar="true"] #toolbar-menubar .menubar-text {
      color: #fff !important;
    }
    
    #TabsToolbar .titlebar-buttonbox-container {
      visibility: collapse !important;
    
    }
    
    #browser {
       xborder: solid !important;
       padding: 0px !important;
       margin-top: -1px !important;
       border-width: 2px 2px 2px 2px !important;
       border-image: url("image/combobox.png") !important;
       border-image-slice: 2 2 2 2 !important; 
    #navigator-toolbox toolbar:not(#nav-bar):not(#toolbar-menubar) {-moz-box-ordinal-group:10}
    }
    #navigator-toolbox {
    min-height: 120px !important;
    max-height: 210px !important;
    }
    
    #TabsToolbar {-moz-box-ordinal-group:1000!important}
    
    #TabsToolbar {
      display: block !important;
      position: absolute !important;
     ## top: var(--tabbar-top) !important;
    top: 126px !important;
    min-height: 0px !important;
    max-height: 30px !important;
      width: 100vw !important;
      -moz-appearance: none !important;
      /*background-image: url("image/bottom.png") !important;*/
      background-color: inherit !important;
      border: 2px solid !important;
      border-left: 7px solid !important;
      border-top: 0px !important;
      border-image: url("image/toolbar_handle.png") !important;
      padding: 0px !important;
      padding-left: 0px !important;
      border-image-slice: 2 2 2 7 !important;
     
    }
    
    #tabbrowser-tabs, #tabbrowser-tabs .toolbar-items {
      margin-top: -4px !important;
      border: 0px solid !important;
      border-right: 0px solid !important;
      border-image: url("image/tabs_handle.png") !important;
      border-image-slice: 1 8 2 2 !important; 
      width: 100vw !important;
    }
    
    #main-window:not([chromehidden*="toolbar"]) #navigator-toolbox {padding-bottom: var(--tab-min-height) !important;}
    
    #configuration_toolbar {
    
    
    margin-top: 20px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    
    }
    
    #uc-toolbar {
    background-image: url("Kopie von ie.jpg") !important;
      border-left: 7px solid !important;
      border-top: 0px !important;
      border-image: url("image/toolbar_handle.png") !important;
      border-image-slice: 2 2 2 7 !important; }
    }
    Alles anzeigen
    CSS
    /* remove default tab colors */
    .tab-line {                             /* = light top line in selected tab in Quantum default */
        display: none !important;
    }
    
    .tab-background {
       border: transparent !important;
       background: transparent;
       color: transparent;
       opacity: 0.0;
    }
    
    #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-tab[visuallyselected="true"],
    #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-tab, .tabbrowser-tab, .tab-content {
       border: unset !important;
    }
    
    #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-tab, .tabbrowser-tab,
    #TabsToolbar:not(:-moz-lwtheme) .tabbrowser-tab[visuallyselected="true"] {
       min-height: 0px !important;
       max-height: 30px !important;
       padding: 0px !important;
       border: 0px solid transparent !important;
       border-right: 3px solid #D3D3D3 !important;
       box-shadow: inset -1px 0px #757575 !important;
    }
    
    .tab-content {
    
       min-height: 18px !important;
       max-height: 28px !important;
    min-width: 28px !important;
       padding: 0px !important;
    padding-top: 1px !important;
       padding-left: 12px !important;
       padding-right: 8px !important;
       border: unset !important;
       background-image: url("image/3dtab.png") !important; 
    }
    .tab-content:hover {
       background-image: url("image/3dtab hover.png") !important;
    }
    
    
    
    .tab-content[selected="true"] {
       /*color: #fff !important;*/
       
    background-image: url("image/3dtab hover.png") !important;
    }
    .tab-content[selected="true"]:hover {
       /*color: #fff !important;*/
       background-image: url("image/3dtab hover.png") !important;
    }
    /*
    #tabs-newtab-button {
       border-right: 3px solid #fff !important;
       box-shadow: inset -1px 0px #505050 !important;
    
    }*/
    
    spacer[part=overflow-start-indicator], 
    spacer[part=overflow-end-indicator] {
      display: none !important; }
    
    .tab-icon-image {
       margin-top: -1px !important;
       margin-left: -5px !important;
       margin-right: 3px !important;
    }
    
    #tabs-newtab-button > image  {
       display: none !important;
    }
    
    #tabs-newtab-button {
       background: url("NewTab2.png") no-repeat !important;
       background-position: 0px 2px !important;
       padding-left: 34px !important;
    margin-bottom: -4px !important;
    }
    
    #tabs-newtab-button:hover {
       background: lightgrey url("NewTab3.png") no-repeat !important;
       background-position: 0px 2px !important;
       padding-left: 34px !important;
    margin-bottom: -4px !important;
    
    }
    Alles anzeigen

    Ich kann gut verstehen, wenn wirklich niemand die Lust hat sich den ganzen Kram anzusehen.

    Aber fragen kostet ja nichts.

  • Statusleiste mit Fortschrittsanzeige?

    • NoNameNeeded
    • 5. Mai 2022 um 20:47

    Hab's mittlerweile so halbwegs hingekriegt.

    Nur die Funktion an sich ist nicht so der Bringer, soll heißen, der Fortschritt der Anzeige spiegelt nicht wirklich den Fortschritt des Ladevorgangs wider, sondern kann in Millisekunden eingestellt werden.

    Das untergräbt den Sinn des Ganzen irgendwie.


    Deswegen meine Frage: Kann die Funktion jemand so verändern, dass die Anzeige tatsächlich den Fortschritt des Ladevorgangs zeigt?

    Hier die von mir angepasste Funktion (nicht über teilweise unsinnigen Code wundern, ich hab' halt herumprobiert ohne wirklich viel Ahnung davon zu haben, wobei dadurch nicht das hier beschriebene Problem verursacht wurde, das habe ich natürlich schon überprüft):

    CSS
    /* LoadingBar.uc.js */
    // Location Bar Enhancer5.1; Loading Bar0.3.0
    // Firefox 87+
    
    (function(){
        var cssStr = `
                #browser-bottombox {
    background-image: linear-gradient(90deg, rgba(0,0,128,0), rgba(0,0,128,0) 5px, rgba(0,0,128,1) 5px, rgba(0,0,128,1) 2px), linear-gradient(to right, rgba(0,0,128) 0%, rgba(0,0,128) 5%, rgba(0,0,128) 10%, rgba(0,0,128) 20%,rgba(0,0,128) 30%, rgba(0,0,128) 40%, rgba(0,0,128) 50%, rgba(0,0,128) 60%, rgba(0,0,128,5) 70%, rgba(0,0,128,6) 80%,rgba(0,0,128,.7) 100%);
                    background-size:0 0;
                    margin-right: 200px !important;
                    margin-left: 1600px !important;
                    background-position: left center !important;
                    background-repeat: no-repeat;
                    transition: background-size 1350ms ease 0s;
                    
                }
                #browser-bottombox:not([style="background-size: 0% 100%;"]) {
                    animation:  progress-bar-stripes 2s linear infinite;
                }
                @keyframes progress-bar-stripes {
                    
                    from {
                        background-position: 0 0;
                    }
                    to {
                        background-position: 0 0;
                    }
                }
        `.replace(/\s{2,}|\r|\n/,"");
        
        var style = document.createProcessingInstruction("xml-stylesheet", "type=\"text/css\"" + " href=\"data:text/css;base64," + btoa(cssStr) + "\"");
        var mainW = document.getElementById("main-window");
        document.insertBefore(style, mainW);
    
        function main(window) {
          var {document, gBrowser} = window;
          function $(id) { return document.getElementById(id) };
          var urlbar = $("browser-bottombox");
          let pageProgress = 0;
          let async = makeWindowHelpers(window).async;
          var LoadingBar = {
            listener: {
              onChangeTab: function(e) {
                urlbar.style.backgroundSize = '0% 100%';
                pageProgress = 0;
              },
              onProgressChange: function(aBrowser,webProgress,request,curSelfProgress,maxSelfProgress,curTotalProgress,maxTotalProgress) {
                if (gBrowser.contentDocument === aBrowser.contentDocument) {
                    var val = (curTotalProgress-1)/(maxTotalProgress-1);
                    pageProgress = val;
                    urlbar.style.backgroundSize = (100*val) + '% 100%';
                    if (val > 0.9)
                      async(function() {
                        if (pageProgress > 0.95)
                            urlbar.style.backgroundSize = '1% 100%';
                    }, 1000);
                }
              },
              onStateChange: function() {
                if (pageProgress > 0.95){
                    async(function() {
                        urlbar.style.backgroundSize = '0% 100%';
                        pageProgress = 0;
                    }, 1000);
                }else{
                    urlbar.style.backgroundSize = '0% 100%';
                }
              }
            }
          };
    
          gBrowser.tabContainer.addEventListener('TabSelect',LoadingBar.listener.onChangeTab,false);
          gBrowser.addTabsProgressListener(LoadingBar.listener);
    
          unload(function() {
            gBrowser.tabContainer.removeEventListener('TabSelect',LoadingBar.listener.onChangeTab,false);
    
            gBrowser.removeTabsProgressListener(LoadingBar.listener);
          }, window);
        }
    
    
    
        watchWindows(main, "navigator:browser");
    
        function runOnLoad(window, callback, winType) {
          window.addEventListener("load", function() {
            window.removeEventListener("load", arguments.callee, false);
    
            if (window.document.documentElement.getAttribute("windowtype") == winType)
              callback(window);
          }, false);
        }
    
        function runOnWindows(callback, winType) {
          function watcher(window) {
            try {
              callback(window);
            }
            catch(ex) {}
          }
    
          let browserWindows = Services.wm.getEnumerator(winType);
          while (browserWindows.hasMoreElements()) {
            let browserWindow = browserWindows.getNext();
            if (browserWindow.document.readyState == "complete")
              watcher(browserWindow);
            else
              runOnLoad(browserWindow, watcher, winType);
          }
        }
    
        function watchWindows(callback, winType) {
          function watcher(window) {
            try {
              callback(window);
            }
            catch(ex) {}
          }
    
          runOnWindows(callback, winType);
    
          function windowWatcher(subject, topic) {
            if (topic == "domwindowopened")
              runOnLoad(subject, watcher, winType);
          }
          Services.ww.registerNotification(windowWatcher);
    
          unload(function() { Services.ww.unregisterNotification(windowWatcher) });
        }
    
        function unload(callback, container) {
          let unloaders = unload.unloaders;
          if (unloaders == null)
            unloaders = unload.unloaders = [];
    
          if (callback == null) {
            unloaders.slice().forEach(function(unloader) { unloader() });
            unloaders.length = 0;
            return null;
          }
    
          if (container != null) {
            container.addEventListener("unload", removeUnloader, false);
    
            let origCallback = callback;
            callback = function() {
              container.removeEventListener("unload", removeUnloader, false);
              origCallback();
            }
          }
    
          function unloader() {
            try {
              callback();
            }
            catch(ex) {}
          }
          unloaders.push(unloader);
    
    
        function removeUnloader() {
            let index = unloaders.indexOf(unloader);
            if (index != -1)
              unloaders.splice(index, 1);
          }
          return removeUnloader;
        }
        
        function makeWindowHelpers(window) {
          let {clearTimeout, setTimeout} = window;
    
          function async(callback, delay) {
            delay = delay || 0;
            let timer = setTimeout(function() {
              stopTimer();
              callback();
            }, delay);
    
            function stopTimer() {
              if (timer == null)
                return;
              clearTimeout(timer);
              timer = null;
            }
          }
    
          return {
            async: async,
          };
        }
    
    })();
    Alles anzeigen

    P.S:
    Falls es hilft, das von mir im ersten Beitrag hier genannte Addon ist diesbezüglich zwar auch nicht großartig, aber immerhin etwas besser (hier sieht man tatsächlich, dass sich der Fortschrittsbalken an dem tatsächlichen Ladefortschritt orientiert, wenn er auch erst etwas spät angezeigt wird).

    Ich hab in diesem Addon folgende js-Datei gefunden.

    Vllt. lässt sich dieser Code ja irgendwie in den oberen in sinnvoller Weise einbauen:

    CSS
    (function() {
        'use strict';
    
        var inserted = 0;
        var loaded   = 0;
        var last_pct = 1;
        var last_ts  = 0;
        var finished = false;
        var setup_done = false;
        var css = null;
    
        // load settings
        var settings;
        browser.storage.local.get({
            color: "#FF0000",
            incognito_color: "#D020D0",
            width: "2",
            opacity: "0.75",
            place: "top",
            smooth: "no"
        }).then((item) => {
            if (css != null) {
                setupCss(item)
            } else {
                settings = item
            }
        }, onError);
    
        const listenerCfg = {"once": true, "capture": true, "passive": true};
    
        function onError(error) {
            console.log(`Error: ${error}`);
        }
    
        function hexToRgbA(hex){
            var c;
            if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){
                c= hex.substring(1).split('');
                if(c.length == 3){
                    c= [c[0], c[0], c[1], c[1], c[2], c[2]];
                }
                c= "0x" + c.join("");
                return "rgba("+[(c>>16)&255, (c>>8)&255, c&255].join(",")+",1)";
            }
            return "rgba(255,0,0,1)";
        }
    
        function setupCss(settings) {
            setup_done = true;
            let incognito = browser.extension.inIncognitoContext;
            let color = hexToRgbA(incognito ? settings.incognito_color : settings.color);
            let opacity = settings.opacity;
            let transition = ((settings.smooth == "yes") ? "right 0.5s linear, " : "");
            css.appendChild(document.createTextNode(`
                html:before {
                    background: ${color};
                    opacity: ${opacity};
                    transition: ${transition} opacity 0.85s ease-out;
                    position: fixed;
                    content: "";
                    z-index: 2147483647;
                    ${settings.place}: 0;
                    left: 0;
                    height: ${settings.width}px;
                }
            `));
        }
    
        function updateProgress() {
            if (document.body != null && !finished) {
                if (css == null) {
                    css = document.createElement('style');
                    css.type = 'text/css';
                    css.appendChild(document.createTextNode(`
                        html:before {
                            right: 99%;
                        }
                    `));
                    document.body.appendChild(css);
                }
                if (settings != null && !setup_done) {
                    setupCss(settings);
                }
    
                const pct = 100 - (inserted - loaded) * 100 / inserted;
                const ts = Date.now()
                if (pct <= 100 && pct > last_pct && ts >= last_ts + 250) {
                    last_pct = pct;
                    last_ts = ts;
                    const space = 100 - pct;
                    css.firstChild.replaceWith(document.createTextNode(`
                        html:before {
                            right: ${space}%;
                        }
                    `));
                }
            }
        }
    
        function onLoadHandler(node) {
            loaded++;
            updateProgress()
            if (!finished && node.self == node && css != null) { // i.e. the window is loaded
                finished = true;
                css.firstChild.replaceWith(document.createTextNode(`
                    html:before {
                        right: 0;
                    }
                `));
                setTimeout(function() {
                    css.firstChild.replaceWith(document.createTextNode(`
                        html:before {
                            right: 0;
                            opacity: 0 !important;
                        }
                    `));
                    setTimeout(function() {
                        css.firstChild.replaceWith(document.createTextNode(`
                            html:before {
                                z-index: -2147483646;
                            }`)
                        )}, 850);
                }, 150);
            }
        }
    
        let observer = new MutationObserver((mutations) => {
            mutations.forEach((mutation) => {
                mutation.addedNodes.forEach((node) => {
                    if (node.nodeName == "BODY") {
                        inserted++;
                        node.addEventListener( "load", () => onLoadHandler(node), listenerCfg);
                        updateProgress();
                    } else if (((node.nodeName == "SCRIPT" ||
                                node.nodeName == "VIDEO"  || node.nodeName == "IMG"    ||
                                node.nodeName == "IFRAME" || node.nodeName == "FRAME") && node.src != "" ) ||
                                (node.nodeName == "LINK" && node.rel == "stylesheet" && window.matchMedia(node.media))
                    ) {
                        inserted++;
                        node.addEventListener( "error",   () => onLoadHandler(node), listenerCfg);
                        node.addEventListener( "abort",   () => onLoadHandler(node), listenerCfg);
                        node.addEventListener( "load",    () => onLoadHandler(node), listenerCfg);
                        updateProgress();
                    }
                });
            });
        });
        window.addEventListener( "load", () => onLoadHandler(window), listenerCfg);
        observer.observe(document, {childList: true, subtree: true});
    })();
    Alles anzeigen
  • Gepunktete Linie um selektierte Elemente entfernen

    • NoNameNeeded
    • 5. Mai 2022 um 04:55

    Hab mittlerweile herausgefunden wofür diese Focus-Ringe da sind.

    Für die Bedienung mit der Tastatur.

    Finde ich auch ganz und gar nicht verkehrt, nur eigentlich würde es auch reichen, wenn diese Umrahmungen erst nach einem Drücken der Alt-Taste erscheinen.

    (unter Barrierefreiheit hätte ich mir aber etwas anderes vorgestellt)

  • Gepunktete Linie um selektierte Elemente entfernen

    • NoNameNeeded
    • 5. Mai 2022 um 00:38

    Erstens danke!

    Zweitens wüsste ich aber nicht, was an meinem Benehmen falsch war/ist.

  • Gepunktete Linie um selektierte Elemente entfernen

    • NoNameNeeded
    • 4. Mai 2022 um 22:59

    Dann würde ich jetzt noch gerne einen Schritt weitergehen.

    Weißt du denn selbst zufällig wie das geht und würdest du es mir verraten?
    Oder kennst du jemanden, der es weiß und mir es verraten würde?

  • Gepunktete Linie um selektierte Elemente entfernen

    • NoNameNeeded
    • 4. Mai 2022 um 21:44

    Nein, ich glaube natürlich nicht, dass Barrierefreiheit nur für blinde Menschen relevant ist.

    Nur Rollstuhlfahrern wird diese gepunktete Linie wahrscheinlich nicht besonders viel helfen.

    Menschen mit amputierten Armen wohl auch nicht.

    Gelähmten auch nicht.

    Aber ich konnte nicht ganz ausschließen, dass diese gepunktete Linie vllt. in irgendeiner Form auf irgendeinem speziellen Tablet in Braille-Schrift übersetzt werden könnte (die sieht man nicht, man erfühlt sie).

    Wie auch immer, mir geht es jetzt eigentlich nicht so sehr um Rätselraten.

    Aber wenn du weißt inwiefern diese Punkte die Barrierefreiheit erhöhen, lass es mich gerne wissen.

    In erster Linie frage ich mich aber, ob man diese gepunktete Linie irgendwie entfernen kann.

    Vielleicht geht's ja indem man die Punkte transparent darstellt?

  • Gepunktete Linie um selektierte Elemente entfernen

    • NoNameNeeded
    • 4. Mai 2022 um 21:20

    Für die Barrierefreiheit?

    Werden die Fokuslinien denn in Braille-Schrift für Blinde angezeigt?

  • Gepunktete Linie um selektierte Elemente entfernen

    • NoNameNeeded
    • 4. Mai 2022 um 20:34

    Wie bekomme ich die gepunktete Linie rund um selektierte Elemente weg?
    Am besten überall.

    Aber hier mal als Beispiel für das was ich meine:

    Rund um das selektierte Element sieht man die Linie.

    Besonders chic ist das ja nicht.

    Keine Ahnung wofür man die eingeführt hat.

  • Some Problems

    • NoNameNeeded
    • 3. Mai 2022 um 16:33

    Auch wenn ich wahrscheinlich nicht helfen können werde, nur noch mal als Frage zum besseren Verständnis.

    Obwohl du das Häkchen zum Löschen aller Cookies beim Schließen des Browsers wieder entfernt hast, werden Cookies trotzdem nicht mehr gespeichert?
    Das suggeriert zumindest ein Screenshot (da ist das Häkchen entfernt).

    ODER deine Anmeldedaten werden vergessen, obwohl du Ausnahmen gesetzt hast (die also das automatische Löschen der Cookies dieser Seiten verhindern sollen)?

    Das suggeriert ein anderer Screenshot.

    Gib' vllt. auch mal ein Beispiel für eine dieser Seiten die besonders lange brauchen um zu laden.

    Könnte ja rein theoretisch auch vom Server abhängen (darauf hättest du dann ja keinen Einfluss), der mal etwas fitter ist und mal etwas lahm.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 2. Mai 2022 um 22:55

    Ich möchte nur daran erinnern, dass der TO mit keinem Wort davon gesprochen (oder geschrieben) hat, dass er den gesamten Benutzerordner verschieben möchte.

    Es geht wohl nur um das Firefox-Profil.

    Da er sich bisher noch nicht zurückgemeldet hat, vermute ich fast, dass sein Vorhaben mittlerweile geklappt hat.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 2. Mai 2022 um 13:41
    Zitat von Sören Hentzschel

    Selbst wenn ansonsten kein anderes Benutzerkonto existiert, ist das einfach ganz schlechte Praxis. Man schafft damit ja auch verbindliche Annahmen für die Zukuft, für die man in der Gegenwart nicht garantieren kann.

    Das sehe ich nicht so.

    Wenn man sicherstellen möchte, dass das persönliche Firefox-Profil von anderen nicht eingesehen/genutzt werden kann und wenn sich mehr als ein Benutzerkonto auf dem Rechner befindet (abgesehen vom Admin-Konto), dann ist es sicher sinnvoll, den Profilordner dort zu belassen wo er ist (nämlich im Benutzerordner des jeweiligen Benutzerkontos).

    Wenn es aber sowieso nur ein Benutzerkonto gibt ODER wenn es zwar mehrere gibt aber es explizit erwünscht ist, dass mehrere Personen (von anderen Benutzerkonten aus) Firefox mit ein und demselben Profil benutzen können, dann kann der Fx-Profilordner natürlich auch woanders liegen.

    Auch in der Zukunft wird sich daran kaum etwas ändern.

    Nicht falsch verstehen: Ich finde es völlig ok, wenn man darauf hinweist, dass man mit einem Verschieben des Fx-Profilordners auch anderen Benutzer(konte)n Zugriff gewährt, aber als schlechte Praxis würde ich das nicht bezeichnen.

    Kann schlecht sein, kann egal sein oder kann sogar erwünscht sein.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 1. Mai 2022 um 22:34

    Ich bin zwar nicht Sören aber NUR der Benutzer (genaugenommen: das Benutzerkonto mit dem man sich bei Windows angemeldet hat) verfügt über Vollzugriff auf alle darin befindlichen Dateien und Ordner, wenn der Ordner im dafür vorgesehenen Benutzer-Ordner ist (also dort wo Firefox den Profilordner standardmäßig auch anlegt).

    Der AppData-Ordner ist demnach schon auch geschützt, nur halt nicht vor dem Benutzer selbst, wenn man so will.

    Würde sich aber ein anderer Benutzer mit einem anderen Benutzerkonto in Windows anmelden, hätte dieser keinen Zugriff auf den AppData-Ordner des anderen Users.

    DAS ist der Schutz.

    Liegt der Fx-Profilordner woanders, also in einem Ordner auf den nicht nur ein bestimmter Benutzer Zugriff hat, können auch andere Benutzer (also von anderen Benutzerkonten aus) auf diesen Ordner zugreifen (Lesen, Schreiben, Ändern...).


    DAS kann ein Sicherheitsproblem sein.

    Ansonsten gibt es keinen Grund warum man den Ordner nicht auch woanders hinlegen sollte.

    Wichtig für die Funktion von Firefox ist nur, dass der Benutzer eben Vollzugriff auf den Ordner hat.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 1. Mai 2022 um 19:08
    Zitat von Sören Hentzschel

    Und durch das Verschieben an einen anderen Ort hat jeder Zugriff. Und damit ist es nicht nur nicht sicherer, sondern aus einer Sicherheits-Perspektive schlicht und ergreifend destruktiv

    Ja, alle anderen Benutzer dieses Rechners haben dann vollen Zugriff.

    Deswegen ist es in keinster Weise sicherer als im jeweiligen Benutzerordner.

    Aber wenn es auf diesem Rechner nur einen Benutzer gibt, ist es egal.

    Der TO wollte den Profil-Ordner aber meines Wissens auch nicht woanders hinverschieben, weil es ihm dort sicherer erscheinen würde, das war meines Wissens nicht sein Ziel.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 1. Mai 2022 um 18:36
    Zitat von Sören Hentzschel

    Das trifft höchstens dann zu, wenn man ein Administrator-Konto für Dinge nutzt, die kein Administrator-Konto benötigen. Ansonsten ist dieses Verzeichnis von Haus aus in den Rechten eingeschränkt und Schadsoftware kann dort weniger Schaden anrichten als an einem beliebigen anderen Ort, sofern dafür nicht explizit Vorkehrungen getroffen werden - was vermutlich die meisten übersehen, die das Profilverzeichnis an einen anderen Ort verschieben.

    Aber der Benutzer selbst hat ja Zugriff darauf.

    Das ist der Punkt.

    Schleicht sich Ransomware auf den Computer, hat sie natürlich die selben Rechte wie der Benutzer und der Benutzer selbst verfügt ja über die nötigen Rechte um Dinge in seinem eigenen Benutzerprofil zu lesen/ändern/löschen.


    Aber wie gesagt, das ist natürlich kein Grund das Fx-Profil dann in einen anderen Ordner (z.B. auf einer anderen Partition) zu legen.

    Sicherer ist es dort auch nicht.

    Eher unsicherer, wenn auf dem Computer noch weitere Benutzerkonten bestehen und so andere Benutzer auch darauf zugreifen können.

    Aber abgesehen davon macht es eigentlich keinen großen Unterschied.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 1. Mai 2022 um 17:55

    Wieder mal am Blödsinn labern?

    Was der TO wohl meinte war, besteht eine Trennung zwischen Programm und Benutzerprofil?
    Die Antwort ist: Ja.

    Denn sie liegen nicht im selben Ordner.

    Insofern war deine obere Antwort auch etwas widersprüchlich, denn zuerst schreibst du dem TO,

    Zitat von .DeJaVu

    1) Nö, wieso denn?

    als Antwort auf die Frage ob das Konzept der Trennung noch weiterhin besteht nur um ihm dann zu erklären, dass eben gerade dieses (noch immer praktizierte Konzept) der Trennung in Benutzerordner und Programmordner durchaus sinnvoll ist...

    Zitat von .DeJaVu

    Der Profilordner ist nicht umsonst im Windows-Benutzerordner, damit niemand anders ran kann, was du vorhast, ist weit weg davon. Um eines gleich vorweg zu sagen - den Windows-Benutzerordner zu verlegen, ist der Größe Mist, damit sind alle bislang auf die Nase gefallen.


    P.S. Was die Sicherheit im Allgemeinen betrifft:
    Es stimmt schon, dass an die Daten die sich im Profil des Benutzers befinden so erst mal kein anderer Benutzer ran kann.

    Das ist wohl auch einer der Gründe warum das so gemacht wird.

    Andererseits ist es natürlich zwangsläufig der erste Ort in dem sich bspw. Ransomware einnistet, eben gerade WEIL ja der Benutzer der vorm Rechner sitzt alle Rechte an diesem Profil genießt und somit auch die Ransomware genau dort damit beginnt, Daten zu verschlüsseln (denn auf die Daten bspw. im Programme-Ordner hat sie ja keinen Zugriff ohne Admin-Rechte).

    Das bedeutet nun aber natürlich auch nicht, dass es deswegen sicherer wäre das Fx-Benutzerprofil im Programm-Ordner anzulegen (was ohne Änderungen der NTFS-Berechtigungen auch nicht ohne weiteres sinnvoll möglich ist).

    Dass das Fx-Profil im jeweiligen Benutzer-Ordner beheimatet ist, ist dennoch sinnvoll.
    Denn gibt es zwei Benutzerkonten auf dem Computer (z.B. Toni und Susi), so kann Toni nicht auf das Firefox-Profil von Susi zugreifen und umgekehrt Susi auch nicht auf das Benutzerprofil von Toni und das ist im Normalfall auch gut so.

    Dafür war das NTFS-Dateisystem gedacht.

    Für Angriffe von außen ist das NTFS-Dateisystem aber kein besonders großer Sicherheitsfaktor.

    P.P.S:

    Unter Win9x gab es im Übrigen keine Rechteverwaltung, weil es dort kein NTFS-Dateisystem gab.

  • Installation und Profil-/ Anwenderdaten trennen --> Anpassung Ordnerpfad?!

    • NoNameNeeded
    • 1. Mai 2022 um 15:31
    Zitat von der MAddin

    Hallo zusammen und Danke für die Aufnahme!

    Ich möchte gerne Firefox-Benutzerprofile und -daten unabhängig von den Programmdaten/ -installation auf eine ander Partition legen. Wwecks ggf. einfachererer Wiederherstellung des (Windows-) Systems.

    Früher habe ich das schonmal gemacht, dass lief soweit ich mich erinnern kann über den Profilmanager.
    Dann hatte ich dazu lange keine Veranlassung mehr mich damit zu beschäftigen. Mit der EInrichtung von zwei neuen Rechnern ist dies nun anders und ich habe festgestellt, dass der alte mir bekannte Weg wohl nicht mehr funktioniert.
    Die Profile sind jedenfalls erfolgreich umgezogen und laufen im Firefox, aber eben auch auf C:\
    Jetzt möchte ich die Profile noch auf die andere Festplatte/ Partition D:\ umziehen.

    Meine Fragen:

    1) Grundsätzlich ist es schon noch so, dass das Konzept der Trennung zwischen Programmdaten/ -installation und Benutzerprofil/ Anwenderdaten bei Firefox weiterhin besteht?

    2) Wenn ja: wie ändere ich den Profilpfad heutzutage in Firefox?

    Intensive Suche im www hat mir immer nur Ergebnisse zur Fragestellung von Profil sichern und Wiederherstellen ausgespuckt.
    Hier im Forum waren die Treffer dann schon näher an meiner Fragestellung, allerdings sind die gefundenen Beiträge dazu mehr als 10 Jahre alt und somit (soviel ich das übersehen kann) nicht mehr aktuell und zutreffend.
    Einziger Hinweis den ich gefunden habe - dann aber leider ohne weitergehende Informationen - ist, dass die Sache vielleicht über die profiles.ini lösbar ist.

    Danke für Rückmeldung in Form von Erklärungen, Links (vielleicht suche ich nach dem Falschen...) etc.!

    der MAddin

    Alles anzeigen

    1) Ja, sind immer noch getrennt

    2) Das geht eigentlich so, wie's immer schon ging.

    Erstelle einen Link der Firefox.exe

    Klicke rechts darauf auf Eigenschaften und füge dort ein -p an (siehe Screenshot).

    Nun lässt sich mit diesem Link der Profil-Manager öffnen.

    Dort kannst du dann ein neues Profil (bspw. auf D:\) erstellen und dann anschließend die gewünschten Profildaten in eben diesen Ordner kopieren.

Unterstütze uns!

Jährlich (2025)

67,1 %

67,1% (435,86 von 650 EUR)

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