𝘋𝘪𝘳𝘬

Somewhere between Linux woes, gaming, open source, 3D printing, recreational coding, and occasional ranting.

🔗 Me, but elsewhere

🇬🇧 / 🇩🇪

  • 3 Posts
  • 766 Comments
Joined 2 years ago
cake
Cake day: June 9th, 2023

help-circle


  • // Enable userChrome.css
    user_pref('toolkit.legacyUserProfileCustomizations.stylesheets', true);
    
    
    // Warnings
    user_pref('browser.aboutConfig.showWarning', false);
    
    
    // Style
    user_pref('browser.tabs.inTitlebar', 0);
    user_pref('browser.theme.content-theme', 1);
    user_pref('browser.theme.toolbar-theme', 1);
    
    
    // Extensions
    user_pref('extensions.activeThemeID', 'firefox-compact-light@mozilla.org');
    user_pref('extensions.pocket.enabled', false);
    user_pref('extensions.screenshots.disabled', true);
    user_pref('extensions.getAddons.showPane', false);
    user_pref('extensions.htmlaboutaddons.recommendations.enabled', false);
    
    
    // Zoom
    user_pref('toolkit.zoomManager.zoomValues', '.5,.3,1,1.2,1.3,1.5');
    user_pref('devtools.toolbox.zoomValue', '1.4');
    user_pref('browser.zoom.siteSpecific', false);
    
    
    // Privacy
    //
    // Basically do not leak URLs, IPs, etc. to external services
    user_pref('browser.safebrowsing.malware.enabled', false);
    user_pref('browser.safebrowsing.phishing.enabled', false);
    user_pref('security.OCSP.enabled', 0);
    user_pref('browser.contentblocking.category', 'custom');
    user_pref('app.shield.optoutstudies.enabled', false);
    user_pref('browser.urlbar.trending.featureGate', false);
    
    
    // DoH explicitly off
    user_pref('network.trr.mode', 5);
    user_pref('network.trr.default_provider_uri', '');
    
    
    // Cookies
    user_pref('network.cookie.cookieBehavior', 2);
    
    
    // AdBlock
    user_pref('browser.newtabpage.activity-stream.showSponsoredTopSites', false);
    user_pref('browser.newtabpage.activity-stream.feeds.section.topstories', false);
    user_pref('browser.newtabpage.activity-stream.feeds.topsites', false);
    
    
    // Remove weird URLS
    user_pref('toolkit.shopping.ohttpConfigURL', '');
    user_pref('toolkit.shopping.ohttpRelayURL', '');
    user_pref('browser.partnerlink.attributionURL', '');
    user_pref('browser.privatebrowsing.vpnpromourl', '');
    
    
    // Do not track
    user_pref('privacy.trackingprotection.enabled', false);
    user_pref('privacy.trackingprotection.emailtracking.enabled', false);
    user_pref('privacy.trackingprotection.socialtracking.enabled', false);
    user_pref('privacy.trackingprotection.cryptomining.enabled', false);
    user_pref('privacy.trackingprotection.fingerprinting.enabled', false);
    user_pref('privacy.donottrackheader.enabled', true);
    
    
    // Beahvior
    user_pref('general.smoothScroll', false);
    user_pref('signon.autofillForms', true);
    user_pref('signon.firefoxRelay.feature', 'disabled');
    user_pref('browser.download.manager.addToRecentDocs', false);
    user_pref('security.tls.version.min', 1);
    user_pref('browser.profiles.enabled', false);
    
    
    // UI features
    //
    // https://github.com/yokoffing/Betterfox/blob/main/user.js
    user_pref('browser.discovery.enabled', false);
    user_pref('browser.shell.checkDefaultBrowser', false);
    user_pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons', false);
    user_pref('browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features', false);
    user_pref('browser.preferences.moreFromMozilla', false);
    user_pref('browser.tabs.tabmanager.enabled', false);
    user_pref('browser.aboutConfig.showWarning', false);
    user_pref('browser.aboutwelcome.enabled', false);
    user_pref('browser.uidensity', 0);
    user_pref('browser.urlbar.trimURLs', false);
    user_pref('browser.urlbar.showSearchTerms.enabled', false);
    
    
    // Telemetry
    //
    // https://github.com/yokoffing/Betterfox/blob/main/user.js
    user_pref('datareporting.policy.dataSubmissionEnabled', false);
    user_pref('datareporting.healthreport.uploadEnabled', false);
    user_pref('toolkit.telemetry.unified', false);
    user_pref('toolkit.telemetry.enabled', false);
    user_pref('toolkit.telemetry.server', 'data:,');
    user_pref('toolkit.telemetry.archive.enabled', false);
    user_pref('toolkit.telemetry.newProfilePing.enabled', false);
    user_pref('toolkit.telemetry.shutdownPingSender.enabled', false);
    user_pref('toolkit.telemetry.updatePing.enabled', false);
    user_pref('toolkit.telemetry.bhrPing.enabled', false);
    user_pref('toolkit.telemetry.firstShutdownPing.enabled', false);
    user_pref('toolkit.telemetry.coverage.opt-out', true);
    user_pref('toolkit.coverage.opt-out', true);
    user_pref('toolkit.coverage.endpoint.base', '');
    user_pref('browser.ping-centre.telemetry', false);
    user_pref('browser.newtabpage.activity-stream.feeds.telemetry', false);
    user_pref('browser.newtabpage.activity-stream.telemetry', false);
    user_pref('breakpad.reportURL', '');
    user_pref('browser.tabs.crashReporting.sendReport', false);
    user_pref('browser.crashReports.unsubmittedCheck.autoSubmit2', false);
    user_pref('app.shield.optoutstudies.enabled', false);
    user_pref('app.normandy.enabled', false);
    user_pref('app.normandy.api_url', '');
    
    
    // Disable AI bullshit
    //
    user_pref('browser.ml.enable', false);
    user_pref('browser.ml.chat.enabled', false);
    user_pref('browser.ml.chat.shortcuts', false);
    user_pref('browser.ml.chat.sidebar', false);
    user_pref('pdfjs.enableAltText', false);
    user_pref('pdfjs.enableUpdatedAddImage', false);
    

    and

    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    
    /* Tabs styling */
    
    #TabsToolbar {
        background-color: #cccccc !important;
        --toolbarbutton-inner-padding: 0 !important;
    }
    
    .tabbrowser-tab {
        padding: 0 !important;
    }
    
    .tab-background {
        margin: 0 !important;
        border-radius: 0 !important;
        background-color: var(--toolbar-bgcolor) !important;
        box-shadow: none !important;
    }
    
    #alltabs-button {
        display: none !important;
    }
    
    #tabbrowser-tabs {
        min-height: unset !important;
    }
    
    
    /* secondary label indicators */
    
    @font-face {
        /* copy font file to same directory as this CSS file */
        font-family: 'SymbolsNerdFont';
        src: url('SymbolsNerdFont.ttf') format('truetype');
    }
    
    .tab-secondary-label {
        display: none;
    }
    
    .tab-text::before {
        font-family: SymbolsNerdFont;
        padding-right: 0.25em;
    }
    
    .tabbrowser-tab[soundplaying] .tab-text::before { content: ''; }
    .tabbrowser-tab[muted] .tab-text::before { content: '󰝟'; }
    .tabbrowser-tab[activemedia-blocked] .tab-text::before { content: ''; }
    
    /* unselected tabs */
    
    .tab-background:not([selected]),
    .tab-icon-image:not([selected]) {
        opacity: 0.4 !important;
    }
    .tab-text:not([selected]) {
        color: #555753 !important;
    }
    
    #tabbrowser-arrowscrollbox {
        min-height: var(--tab-min-height) !important;
        max-height: var(--tab-min-height) !important;
    }
    
    scrollbox[part="scrollbox"] {
        gap: 2px;
    }
    

    and

    /* Style about:home and about:newtab */
    
    @-moz-document url-prefix(about:home), url-prefix(about:newtab) {
        .logo-and-wordmark {
            background-image: url(REPLACE_ME_WITH_YOUR_FAVORITE_IMAGE.jpg);
            background-size: cover;
            background-position: center;
            aspect-ratio: 16/9;
            border-radius: 1em;
            position: relative;
            width: auto;
            height: auto;
            max-width: 80%;
            max-height: 60vh;
            margin: 0 auto;
        }
    
        .logo-and-wordmark .logo {
            display: none !important;
        }
    
        .logo-and-wordmark .wordmark {
            position: absolute;
            right: 2em;
            bottom: 0.5em;
            --newtab-wordmark-color: #eb8819;
        }
    }
    




  • It’s Markdown syntax. Single newlines are ignored so the text can be styled to be 80 characters wide for example but still have it rendered with another line length while two newlines result in a new paragraph. It’s not about “space efficiency”.

    To get a visible linebreak without creating a paragraph, add two spaces at the end of the line you want to break.

    hello↵
    ↵
    this is the first line␣␣↵
    this is the second line↵
    ↵
    more text here
    

    … results in this:


    hello

    this is the first line
    this is the second line

    more text here


    (Actual rendering depends on your renderer.)