+++ /dev/null
-/*** Dark theme ***/
-/* inspired by https://github.com/Izheil/Quantum-Nox-Firefox-Dark-Full-Theme */
-@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-
-/* adjust internal vars */
-*:root {
- /*TODO: eventually change to use lwt/chrome/-moz colors*/
- --in-content-page-color: #ccc !important;
- --in-content-page-background: #222 !important;
- --in-content-text-color: #ccc !important;
- /* --in-content-selected-text: #fff; */
- --in-content-box-background: #444 !important;
- --in-content-box-background-odd: #3a3a3a !important;
- --in-content-box-background-hover: #555 !important;
- --in-content-box-background-active: #333 !important;
- --in-content-box-border-color: #777 !important;
- --info-box-background-color: var(--in-content-box-background) !important;
- --info-box-border-color: var(--in-content-box-border-color) !important;
- /* --in-content-item-hover: rgba(0,149,221,0.25); */
- --in-content-item-selected: -moz-cellhighlight !important;
- /* --in-content-border-highlight: #0a84ff; */
- /* --in-content-border-focus: #0a84ff; */
- --in-content-border-color: #777 !important;
- /* --in-content-category-outline-focus: 1px dotted #0a84ff; */
- --in-content-category-text: #ccc !important;
- --in-content-category-text-active: #c0c0c0 !important;
- /* --in-content-category-text-selected: #0a84ff; */
- /* --in-content-category-text-selected-active: #0060df; */
- /* --in-content-category-background-hover: rgba(12,12,13,0.1); */
- /* --in-content-category-background-active: rgba(12,12,13,0.15); */
- /* --in-content-category-background-selected-hover: rgba(12,12,13,0.15); */
- /* --in-content-category-background-selected-active: rgba(12,12,13,0.2); */
- /* --in-content-tab-color: #424f5a; */
- --in-content-link-color: #09f !important;
- --in-content-link-color-hover: #0ff !important;
- --in-content-link-color-active: #0070aa !important;
- --in-content-link-color-visited: #0050aa !important;
- --in-content-primary-button-background: #05a !important;
- --in-content-primary-button-background-hover: #0040aa !important;
- --in-content-primary-button-background-active: #002070 !important;
- --in-content-table-background: #444 !important;
- /* --in-content-table-border-dark-color: #d1d1d1; */
- /* --in-content-table-header-background: #0a84ff; */
-}
-@-moz-document url(about:debugging) {
- .addon-target-container {
- background: var(--in-content-box-background) !important;
- }
-}
-@-moz-document url(about:performance) {
- #subprocess-reports td { /*no table-background??*/
- background: var(--in-content-box-background) !important;
- }
-}
-@-moz-document url(about:plugins), url(about:restartrequired),
- url(about:serviceworkers), url(about:webrtc) {
- html, body {
- /* XXX: doesnt always apply */
- background-color: var(--in-content-background-color) !important;
- }
-}
-@-moz-document url(about:webrtc) {
- .stats, .log {
- background-color: var(--info-box-background-color) !important;
- border-color: var(--info-box-border-color) !important;
- }
-}
-@-moz-document url(about:preferences), url(about:addons) {
- .info-panel, .extension-controlled {
- background-color: var(--info-box-background-color) !important;
- border-color: var(--info-box-border-color) !important;
- }
-}
-
-/* Scrollbar */
-xul|page, xul|scrollbar, *:root {
- /* scrollbar-color: rgb(210, 210, 210) rgb(46, 54, 69) !important; */
- scrollbar-color: #05a #252525 !important;
- scrollbar-width: none !important;
-}
-
-/* This should change the "not found" page image colors */
-#errorPageContainer:not(.button-container),
-#your-rights .rights-header,
-#lic-info .license-header {
- filter: invert(95%) hue-rotate(200deg)
-}
-@-moz-document url(about:devtools) {
- .left-pane {
- filter: invert(95%) hue-rotate(200deg)
- }
-}
-/* This fixes the inverted colors caused by the image filter */
-#errorPageContainer .button-container,
-#errorPageContainer #text-container,
-#your-rights .rights-header div,
-#lic-info .license-header div {
- filter: invert(95%) hue-rotate(-200deg)
-}
-
-/* View source */
-@-moz-document url-prefix(view-source:) {
- html {
- background: #222 !important;
- color: #ccc !important;
- }
- .attribute-name {color: #093 !important}
- .start-tag, .end-tag {color: #f93 !important}
- .attribute-value {color: #09f !important}
-}
+++ /dev/null
-@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
-
-/*** userChrome.js ***
- * https://github.com/Sporif/firefox-quantum-userchromejs
- * Copyright (c) 2017 Haggai Nuchi
- * Available for use under the MIT License:
- * https://opensource.org/licenses/MIT
- */
-#PanelUI-menu-button {
- -moz-binding: url("userChrome.xml#js");
-}
-
-
-/*** Settings ***/
-window {
- --statusbar-height: 20px;
-}
-
-/*** Misc rules ***/
-/* Adjust padding from sidebar header */
-#sidebar-header {
- padding: 0 3px !important;
-}
-
-/*** Tabs ***/
-/* Hide tab bar */
-window:not([tabsintitlebar="true"]):not([customizing])
- /* #navigator-toolbox:not(:hover):not(:focus-within) */
- #TabsToolbar {
- visibility: collapse;
-}
-/* Hide tabs when in titlebar */
-window[tabsintitlebar="true"]:not([customizing])
- /* #navigator-toolbox:not(:hover):not(:focus-within) */
- #TabsToolbar {
- opacity: 0;
- pointer-events: none;
-}
-
-/*** Bottom bookmarks/personal toolbar ***/
-/* Adjust window size */
-window:not([inFullscreen="true"]) {
- margin-bottom: calc(var(--statusbar-height) + 1px);
-}
-/* Move toolbar */
-window:not([inFullscreen="true"]) #PersonalToolbar
-{
- position: fixed;
- bottom: 0;
- width: 100%;
- height: var(--statusbar-height);
-}
-/* Move statuspanel to bar */
-/* XXX: opacity and collapse not really needed, just need to remove transitions
- * TODO: add box shadow to left of bar
- * XXX: :hover doesn't fire because pointer disabled in xul?
- */
-window:not([inFullscreen="true"]) #statuspanel:not(:hover) {
- bottom: 0 !important;
- offset-inline-start: auto;
- offset-inline-end: 0;
- margin-top: 0 !important;
- max-width: 100% !important;
- /* TODO: breaks it? thankfully fits as-is */
- /* height: var(--statusbar-height) !important; */
- opacity: 1 !important;
-}
-window:not([inFullscreen="true"]) #statuspanel-label {
- margin: 0 !important;
- border: none !important;
- box-shadow: -5px 0 2px -2px var(--toolbar-bgcolor);
-}
-window:not([inFullscreen="true"]) #statuspanel[inactive] {
- visibility: collapse;
-}
-
-/*** Tree Style Tabs */
-/* Hide sidebar with one tab */
-#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] {
- transition: all 0.2s ease;
-}
-#main-window[titlepreface="[1] "]
- #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"]:not(:hover) {
- z-index: 2 !important;
- overflow: hidden;
- min-width: 30px !important;
- max-width: 30px !important;
-}
-
+++ /dev/null
-<?xml version="1.0"?>
-<!-- Copyright (c) 2017 Haggai Nuchi
-Available for use under the MIT License:
-https://opensource.org/licenses/MIT
- -->
-
-<!-- Run userChrome.js/userChrome.xul and .uc.js/.uc.xul/as.css files -->
-<bindings xmlns="http://www.mozilla.org/xbl">
- <binding id="js" extends="chrome://global/content/bindings/toolbarbutton.xml#menu">
- <implementation>
- <constructor><![CDATA[
- if(window.userChromeJsMod) return;
- window.userChromeJsMod = true;
-
- var chromeFiles = FileUtils.getDir("UChrm", []).directoryEntries;
- var xulFiles = [];
- var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
-
- while(chromeFiles.hasMoreElements()) {
- var file = chromeFiles.getNext().QueryInterface(Ci.nsIFile);
- var fileURI = Services.io.newFileURI(file);
-
- if(file.isFile()) {
- if(/(^userChrome|\.uc)\.js$/i.test(file.leafName)) {
- Services.scriptloader.loadSubScriptWithOptions(fileURI.spec, {target: window, ignoreCache: true});
- }
- else if(/(^userChrome|\.uc)\.xul$/i.test(file.leafName)) {
- xulFiles.push(fileURI.spec);
- }
- else if(/\.as\.css$/i.test(file.leafName)) {
- if(!sss.sheetRegistered(fileURI, sss.AGENT_SHEET))
- sss.loadAndRegisterSheet(fileURI, sss.AGENT_SHEET);
- }
- else if(/^(?!(userChrome|userContent)\.css$).+\.css$/i.test(file.leafName)) {
- if(!sss.sheetRegistered(fileURI, sss.USER_SHEET))
- sss.loadAndRegisterSheet(fileURI, sss.USER_SHEET);
- }
- }
- }
-
- setTimeout(function loadXUL() {
- if(xulFiles.length > 0) {
- document.loadOverlay(xulFiles.shift(), null);
- setTimeout(loadXUL, 5);
- }
- }, 0);
- ]]></constructor>
- </implementation>
- </binding>
-</bindings>
+++ /dev/null
-#!/bin/sh
-mv user.js user.js.bak >/dev/null 2>&1
-ghacksjs="https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js"
-if ! command -v curl >/dev/null; then
- # Based on busybox-compatible wget
- wget -q "$ghacksjs"
-else
- curl -sSO "$ghacksjs"
-fi
-echo >> user.js
-cat user-overrides.js >> user.js
-echo Updated!
-diff user.js.bak user.js 2>/dev/null
+++ /dev/null
-// Custom user.js overrides
-user_pref("_user.js.parrot", "overrides section syntax error");
-
-// 0102
-user_pref("browser.startup.page", 3);
-
-// 0105b [CUSTOM]
-user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr", "");
-user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr-fxa", "");
-user_pref("browser.newtabpage.activity-stream.default.sites", "");
-user_pref("browser.newtabpage.activity-stream.feeds.aboutpreferences", false);
-user_pref("browser.newtabpage.activity-stream.feeds.asrouterfeed", false);
-user_pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false);
-user_pref("browser.newtabpage.activity-stream.feeds.favicon", false);
-user_pref("browser.newtabpage.activity-stream.feeds.migration", false);
-user_pref("browser.newtabpage.activity-stream.feeds.newtabinit", false);
-user_pref("browser.newtabpage.activity-stream.feeds.places", false);
-user_pref("browser.newtabpage.activity-stream.feeds.prefs", false);
-user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
-user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
-user_pref("browser.newtabpage.activity-stream.feeds.section.topstories.options", "{}");
-user_pref("browser.newtabpage.activity-stream.feeds.section.topstories.rec.impressions", "{}");
-user_pref("browser.newtabpage.activity-stream.feeds.section.topstories.spoc.impressions", "{}");
-user_pref("browser.newtabpage.activity-stream.feeds.sections", false);
-user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
-user_pref("browser.newtabpage.activity-stream.feeds.systemtick", false);
-user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
-user_pref("browser.newtabpage.activity-stream.feeds.theme", false);
-user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
-user_pref("browser.newtabpage.activity-stream.migrationExpired", true);
-user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false);
-user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false);
-user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
-user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false);
-user_pref("browser.newtabpage.activity-stream.section.topstories.showDisclaimer", false);
-user_pref("browser.newtabpage.activity-stream.showSearch", false);
-user_pref("browser.newtabpage.activity-stream.showSponsored", false);
-user_pref("browser.newtabpage.activity-stream.telemetry", false);
-user_pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "data:text/plain,");
-user_pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "data:text/plain,");
-
-// 0105d
-user_pref("browser.library.activity-stream.enabled", false);
-
-// 0515
-user_pref("extensions.screenshots.disabled", true);
-user_pref("extensions.screenshots.upload-disabled", true);
-
-// 0701
-user_pref("network.dns.disableIPv6", false);
-// 0707
-user_pref("network.trr.mode", 0);
-user_pref("network.trr.bootstrapAddress", "");
-user_pref("network.trr.uri", "");
-
-// 0901
-user_pref("signon.rememberSignons", false);
-// 0903
-user_pref("security.ask_for_password", 1);
-
-// 1001
-user_pref("browser.cache.disk.enable", true);
-user_pref("browser.cache.disk.capacity", 358400);
-// 1020
-user_pref("browser.sessionstore.max_tabs_undo", 50);
-user_pref("browser.sessionstore.max_windows_undo", 3);
-// 1021
-user_pref("browser.sessionstore.privacy_level", 0);
-
-// 1241: uMatrix
-user_pref("security.mixed_content.block_display_content", false);
-// 1261
-user_pref("security.ssl3.rsa_des_ede3_sha", false);
-// 1262
-user_pref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false);
-user_pref("security.ssl3.ecdhe_rsa_aes_128_sha", false);
-// 1263
-user_pref("security.ssl3.dhe_rsa_aes_128_sha", false);
-user_pref("security.ssl3.dhe_rsa_aes_256_sha", false);
-// 1264
-user_pref("security.ssl3.rsa_aes_128_sha", false);
-user_pref("security.ssl3.rsa_aes_256_sha", false);
-
-// 1401
-user_pref("browser.display.use_document_fonts", 1);
-
-// 1406
-user_pref("layout.css.font-loading-api.enabled", true);
-
-// 1603: uMatrix
-user_pref("network.http.referer.XOriginPolicy", 0);
-
-// 2212
-user_pref("dom.popup_allowed_events", "click dblclick notificationclick");
-// 2302: uMatrix
-user_pref("dom.serviceWorkers.enabled", true);
-// 2304: uMatrix
-user_pref("dom.webnotifications.enabled", true);
-user_pref("dom.webnotifications.serviceworker.enabled", true);
-
-// 2402
-user_pref("dom.event.clipboardevents.enabled", true);
-
-// 2662
-user_pref("extensions.webextensions.restrictedDomains", "");
-
-// 2701: use extensions for cookies
-user_pref("network.cookie.cookieBehavior", 0);
-
-// 2803
-user_pref("privacy.clearOnShutdown.history", false);
-user_pref("privacy.clearOnShutdown.downloads", false);
-// 2804
-user_pref("privacy.cpd.history", false);
-user_pref("privacy.cpd.downloads", false);
-
-// 4504
-user_pref("privacy.resistFingerprinting.letterboxing", false);
-
-// 5000
-/* WELCOME & WHAT's NEW NOTICES ***/
-user_pref("browser.startup.homepage_override.mstone", "ignore");
-user_pref("startup.homepage_welcome_url", "");
-user_pref("startup.homepage_welcome_url.additional", "");
-user_pref("startup.homepage_override_url", "");
-/* WARNINGS ***/
-user_pref("full-screen-api.warning.delay", 0);
-user_pref("full-screen-api.warning.timeout", 0);
-user_pref("general.warnOnAboutConfig", false);
-user_pref("general.aboutConfig.showWarning", false);
-/* APPEARANCE ***/
-user_pref("browser.download.autohideButton", false);
-user_pref("toolkit.cosmeticAnimations.enabled", false);
-user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
-/* CONTENT BEHAVIOR ***/
-user_pref("layout.spellcheckDefault", 2);
-/* UX BEHAVIOR ***/
-user_pref("browser.backspace_action", 2);
-user_pref("browser.tabs.closeWindowWithLastTab", false);
-user_pref("browser.tabs.loadBookmarksInTabs", true);
-/* OTHER ***/
-user_pref("browser.bookmarks.max_backups", 2);
-user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
-user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
-user_pref("identity.fxaccounts.enabled", false);
-user_pref("extensions.pocket.enabled", false);
-user_pref("network.manage-offline-status", false);
-user_pref("reader.parse-on-load.enabled", false);
-
-// 10000: custom
-user_pref("browser.ctrlTab.recentlyUsedOrder", false);
-user_pref("browser.altClickSave", true);
-user_pref("browser.preferences.instantApply", false);
-user_pref("browser.onboarding.enabled", false);
-user_pref("devtools.onboarding.telemetry.logged", false);
-user_pref("extensions.ui.dictionary.hidden", false);
-user_pref("extensions.ui.experiment.hidden", false);
-user_pref("extensions.ui.locale.hidden", false);
-user_pref("reader.errors.includeURLs", false);
-user_pref("font.default.x-unicode", "sans-serif");
-user_pref("font.default.x-western", "sans-serif");
-user_pref("zoom.maxPercent", 500);
-user_pref("zoom.minPercent", 10);
-
-user_pref("_user.js.parrot", "SUCCESS");