From 36e472a8c9b148261475a3c48deebda886131757 Mon Sep 17 00:00:00 2001 From: vinceliuice Date: Mon, 18 Jul 2022 14:35:27 +0800 Subject: [PATCH] Add firefox theme --- src/main/gtk-3.0/gtk-Dark.css | 6 +- src/main/gtk-3.0/gtk-Light.css | 4 + src/other/firefox/README.md | 66 ++ .../firefox/chrome/Colloid/colors/dark.css | 115 +++ .../firefox/chrome/Colloid/colors/light.css | 114 +++ .../application-x-addon-blocked-symbolic.svg | 7 + .../icons/application-x-addon-symbolic.svg | 16 + .../applications-engineering-symbolic.svg | 3 + .../Colloid/icons/audio-muted-symbolic.svg | 79 ++ .../Colloid/icons/audio-playing-symbolic.svg | 63 ++ .../icons/autoplay-media-blocked-symbolic.svg | 4 + .../Colloid/icons/autoplay-media-symbolic.svg | 3 + .../icons/blocked-permission-symbolic.svg | 9 + .../Colloid/icons/bookmarks-symbolic.svg | 3 + .../chrome/Colloid/icons/bullet-symbolic.svg | 47 ++ .../Colloid/icons/character-symbolic.svg | 18 + .../icons/checkbox-checked-symbolic.svg | 5 + .../Colloid/icons/checkbox-symbolic.svg | 3 + .../chrome/Colloid/icons/drm-symbolic.svg | 12 + .../Colloid/icons/edit-copy-symbolic.svg | 4 + .../Colloid/icons/edit-cut-symbolic.svg | 4 + .../Colloid/icons/edit-find-symbolic.svg | 6 + .../Colloid/icons/edit-paste-symbolic.svg | 3 + .../icons/folder-download-symbolic.svg | 6 + .../Colloid/icons/folder-locked-symbolic.svg | 7 + .../chrome/Colloid/icons/folder-symbolic.svg | 6 + .../Colloid/icons/forget-history-symbolic.svg | 10 + .../firefox/chrome/Colloid/icons/geo.svg | 11 + .../chrome/Colloid/icons/go-next-symbolic.svg | 3 + .../Colloid/icons/go-previous-symbolic.svg | 3 + .../chrome/Colloid/icons/import-symbolic.svg | 4 + .../Colloid/icons/info-symbolic-light.svg | 57 ++ .../chrome/Colloid/icons/info-symbolic.svg | 57 ++ .../chrome/Colloid/icons/key-symbolic.svg | 302 +++++++ .../chrome/Colloid/icons/library-symbolic.svg | 6 + .../Colloid/icons/mail-unread-symbolic.svg | 3 + .../Colloid/icons/microphone-symbolic.svg | 4 + .../network-workgroup-symbolic-light.svg | 44 + .../icons/network-workgroup-symbolic.svg | 6 + .../Colloid/icons/notification-symbolic.svg | 3 + .../Colloid/icons/open-folder-symbolic.svg | 9 + .../Colloid/icons/open-menu-symbolic.svg | 7 + .../chrome/Colloid/icons/page-action.svg | 7 + .../chrome/Colloid/icons/page-symbolic.svg | 3 + .../Colloid/icons/pan-down-symbolic-light.svg | 42 + .../Colloid/icons/pan-down-symbolic.svg | 41 + .../Colloid/icons/pan-end-symbolic-light.svg | 42 + .../chrome/Colloid/icons/pan-end-symbolic.svg | 41 + .../Colloid/icons/pan-start-symbolic.svg | 41 + .../chrome/Colloid/icons/pan-up-symbolic.svg | 41 + .../Colloid/icons/permissions-granted.svg | 8 + .../icons/preferences-system-symbolic.svg | 3 + ...preferences-system-time-symbolic-light.svg | 55 ++ .../preferences-system-time-symbolic.svg | 7 + .../chrome/Colloid/icons/printer-symbolic.svg | 10 + .../Colloid/icons/process-stop-symbolic.svg | 6 + .../icons/process-working-symbolic-black.svg | 182 +++++ .../icons/process-working-symbolic-light.svg | 186 +++++ .../icons/process-working-symbolic.svg | 186 +++++ .../Colloid/icons/radio-checked-symbolic.svg | 3 + .../chrome/Colloid/icons/radio-symbolic.svg | 3 + .../chrome/Colloid/icons/reader-mode.svg | 12 + .../Colloid/icons/save-folder-symbolic.svg | 7 + .../Colloid/icons/save-to-pocket-light.svg | 6 + .../chrome/Colloid/icons/save-to-pocket.svg | 6 + .../Colloid/icons/screen-blocked-symbolic.svg | 10 + .../chrome/Colloid/icons/screen-symbolic.svg | 9 + .../Colloid/icons/screenshot-symbolic.svg | 1 + .../icons/security-broken-symbolic.svg | 8 + .../icons/security-warning-symbolic.svg | 8 + .../chrome/Colloid/icons/select-symbolic.svg | 48 ++ .../chrome/Colloid/icons/star-symbolic.svg | 4 + .../chrome/Colloid/icons/starred-symbolic.svg | 4 + .../firefox/chrome/Colloid/icons/sync.svg | 6 + .../chrome/Colloid/icons/tab-new-symbolic.svg | 4 + .../Colloid/icons/tab-sync-symbolic-light.svg | 51 ++ .../Colloid/icons/tab-sync-symbolic.svg | 51 ++ .../icons/toggle-right-sidebar-symbolic.svg | 11 + .../Colloid/icons/toggle-sidebar-symbolic.svg | 11 + .../icons/tracking-protection-animatable.svg | 10 + .../Colloid/icons/tracking-protection.svg | 3 + .../Colloid/icons/user-home-symbolic.svg | 3 + .../Colloid/icons/user-not-tracked-dark.svg | 6 + .../chrome/Colloid/icons/user-not-tracked.svg | 6 + .../icons/view-fullscreen-symbolic.svg | 3 + .../icons/view-more-horizontal-symbolic.svg | 8 + .../Colloid/icons/view-refresh-symbolic.svg | 4 + .../Colloid/icons/view-restore-symbolic.svg | 4 + .../icons/window-close-symbolic-light.svg | 4 + .../Colloid/icons/window-close-symbolic.svg | 4 + .../icons/window-maximize-symbolic.svg | 3 + .../icons/window-minimize-symbolic.svg | 3 + .../Colloid/icons/window-new-symbolic.svg | 9 + .../Colloid/icons/window-restore-symbolic.svg | 5 + .../chrome/Colloid/icons/zoom-in-symbolic.svg | 4 + .../Colloid/icons/zoom-out-symbolic.svg | 4 + .../firefox/chrome/Colloid/pages/newtab.css | 9 + .../chrome/Colloid/pages/privatebrowsing.css | 16 + .../chrome/Colloid/parts/buttons-fixes.css | 286 +++++++ .../firefox/chrome/Colloid/parts/buttons.css | 321 ++++++++ .../firefox/chrome/Colloid/parts/controls.css | 46 ++ .../firefox/chrome/Colloid/parts/csd.css | 226 +++++ .../firefox/chrome/Colloid/parts/dialogs.css | 77 ++ .../firefox/chrome/Colloid/parts/entries.css | 123 +++ .../firefox/chrome/Colloid/parts/findbar.css | 43 + .../parts/headerbar-private-window.css | 37 + .../chrome/Colloid/parts/headerbar.css | 20 + .../firefox/chrome/Colloid/parts/icons.css | 769 ++++++++++++++++++ .../firefox/chrome/Colloid/parts/lists.css | 40 + .../chrome/Colloid/parts/popups-contents.css | 349 ++++++++ .../firefox/chrome/Colloid/parts/popups.css | 286 +++++++ .../Colloid/parts/remove-white-flash.css | 11 + .../firefox/chrome/Colloid/parts/sidebar.css | 34 + .../firefox/chrome/Colloid/parts/tabsbar.css | 462 +++++++++++ .../firefox/chrome/Colloid/parts/toolbox.css | 150 ++++ .../firefox/chrome/Colloid/parts/urlbar.css | 182 +++++ .../chrome/Colloid/parts/video-player.css | 75 ++ .../chrome/Colloid/symbolic-tab-icons.css | 19 + .../firefox/chrome/Colloid/system-icons.css | 220 +++++ src/other/firefox/chrome/Colloid/theme.css | 36 + src/other/firefox/chrome/customChrome.css | 3 + src/other/firefox/chrome/userChrome.css | 9 + src/other/firefox/chrome/userContent.css | 7 + src/other/firefox/configuration/user.js | 12 + src/other/firefox/screenshot.png | Bin 0 -> 277070 bytes src/sass/gtk/_common-3.0.scss | 2 +- src/sass/gtk/apps/_misc.scss | 3 +- 127 files changed, 6259 insertions(+), 3 deletions(-) create mode 100644 src/other/firefox/README.md create mode 100644 src/other/firefox/chrome/Colloid/colors/dark.css create mode 100644 src/other/firefox/chrome/Colloid/colors/light.css create mode 100644 src/other/firefox/chrome/Colloid/icons/application-x-addon-blocked-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/application-x-addon-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/applications-engineering-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/audio-muted-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/audio-playing-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/autoplay-media-blocked-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/autoplay-media-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/blocked-permission-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/bookmarks-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/bullet-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/character-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/checkbox-checked-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/checkbox-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/drm-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/edit-copy-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/edit-cut-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/edit-find-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/edit-paste-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/folder-download-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/folder-locked-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/folder-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/forget-history-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/geo.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/go-next-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/go-previous-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/import-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/info-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/info-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/key-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/library-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/mail-unread-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/microphone-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/notification-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/open-folder-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/open-menu-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/page-action.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/page-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/pan-down-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/pan-down-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/pan-end-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/pan-end-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/pan-start-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/pan-up-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/permissions-granted.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/preferences-system-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/printer-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/process-stop-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/process-working-symbolic-black.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/process-working-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/process-working-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/radio-checked-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/radio-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/reader-mode.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/save-folder-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/save-to-pocket-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/save-to-pocket.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/screen-blocked-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/screen-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/screenshot-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/security-broken-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/security-warning-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/select-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/star-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/starred-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/sync.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/tab-new-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/toggle-right-sidebar-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/toggle-sidebar-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/tracking-protection-animatable.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/tracking-protection.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/user-home-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/user-not-tracked-dark.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/user-not-tracked.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/view-fullscreen-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/view-more-horizontal-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/view-refresh-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/view-restore-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/window-close-symbolic-light.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/window-close-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/window-maximize-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/window-minimize-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/window-new-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/window-restore-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/zoom-in-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/icons/zoom-out-symbolic.svg create mode 100644 src/other/firefox/chrome/Colloid/pages/newtab.css create mode 100644 src/other/firefox/chrome/Colloid/pages/privatebrowsing.css create mode 100644 src/other/firefox/chrome/Colloid/parts/buttons-fixes.css create mode 100644 src/other/firefox/chrome/Colloid/parts/buttons.css create mode 100644 src/other/firefox/chrome/Colloid/parts/controls.css create mode 100644 src/other/firefox/chrome/Colloid/parts/csd.css create mode 100644 src/other/firefox/chrome/Colloid/parts/dialogs.css create mode 100644 src/other/firefox/chrome/Colloid/parts/entries.css create mode 100644 src/other/firefox/chrome/Colloid/parts/findbar.css create mode 100644 src/other/firefox/chrome/Colloid/parts/headerbar-private-window.css create mode 100644 src/other/firefox/chrome/Colloid/parts/headerbar.css create mode 100644 src/other/firefox/chrome/Colloid/parts/icons.css create mode 100644 src/other/firefox/chrome/Colloid/parts/lists.css create mode 100644 src/other/firefox/chrome/Colloid/parts/popups-contents.css create mode 100644 src/other/firefox/chrome/Colloid/parts/popups.css create mode 100644 src/other/firefox/chrome/Colloid/parts/remove-white-flash.css create mode 100644 src/other/firefox/chrome/Colloid/parts/sidebar.css create mode 100644 src/other/firefox/chrome/Colloid/parts/tabsbar.css create mode 100644 src/other/firefox/chrome/Colloid/parts/toolbox.css create mode 100644 src/other/firefox/chrome/Colloid/parts/urlbar.css create mode 100644 src/other/firefox/chrome/Colloid/parts/video-player.css create mode 100644 src/other/firefox/chrome/Colloid/symbolic-tab-icons.css create mode 100644 src/other/firefox/chrome/Colloid/system-icons.css create mode 100644 src/other/firefox/chrome/Colloid/theme.css create mode 100644 src/other/firefox/chrome/customChrome.css create mode 100644 src/other/firefox/chrome/userChrome.css create mode 100644 src/other/firefox/chrome/userContent.css create mode 100644 src/other/firefox/configuration/user.js create mode 100644 src/other/firefox/screenshot.png diff --git a/src/main/gtk-3.0/gtk-Dark.css b/src/main/gtk-3.0/gtk-Dark.css index 19593151..df98e59d 100644 --- a/src/main/gtk-3.0/gtk-Dark.css +++ b/src/main/gtk-3.0/gtk-Dark.css @@ -4033,7 +4033,7 @@ decoration { margin: 8px; } -.csd decoration { +.background.csd decoration { border: 1px solid rgba(255, 255, 255, 0.1); background-clip: border-box; } @@ -6056,6 +6056,10 @@ tooltip.background.chromium { /*********** * Firefox * ***********/ +#MozillaGtkWidget decoration { + border: none; +} + #MozillaGtkWidget > widget text { background-color: #3C3C3C; } diff --git a/src/main/gtk-3.0/gtk-Light.css b/src/main/gtk-3.0/gtk-Light.css index 34bb6498..860c56e8 100644 --- a/src/main/gtk-3.0/gtk-Light.css +++ b/src/main/gtk-3.0/gtk-Light.css @@ -6048,6 +6048,10 @@ tooltip.background.chromium { /*********** * Firefox * ***********/ +#MozillaGtkWidget decoration { + border: none; +} + #MozillaGtkWidget > widget text { background-color: #FFFFFF; } diff --git a/src/other/firefox/README.md b/src/other/firefox/README.md new file mode 100644 index 00000000..ba5f5601 --- /dev/null +++ b/src/other/firefox/README.md @@ -0,0 +1,66 @@ + +## Colloid Firefox theme + +

A flat clean theme for Firefox 90+

+ +#### Preview +![01](screenshot.png?raw=true) + +## Description + +This is a bunch of CSS code to make Firefox look closer to Chrome theme. + +## Installation + +### Manual installation +1. Go to `about:support` in Firefox. +2. Application Basics > Profile Directory > Open Directory. +3. Copy `chrome` folder Firefox config folder. +4. If you are using Firefox 69+: + 1. Go to `about:config` in Firefox. + 2. Search for `toolkit.legacyUserProfileCustomizations.stylesheets` and set it to `true`. +5. Restart Firefox. +6. Open Firefox customization panel and: + 1. Use *Title bar* option to toggle CSD if is not set by default. + 2. Move the new tab button to headerbar. + 3. Select light or dark variants on theme switcher. +7. Be happy with your new gnomish Firefox. + +## Enabling optional features +Open `userChrome.css` with a text editor and follow instructions to enable extra features. Keep in mind this file might change in future versions and your configuration will be lost. You can copy the @imports you want to enable to a new file named `customChrome` directly in your `chrome` directory if you want it to survive updates. Remember all @imports must be at the top of the file, before other statements. + +## Known bugs + +### CSD have sharp corners +See upstream [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1408360). + +### Icons color broken +Icons might appear black where they should be white on some systems. I have no idea why, but you can adjust them in the `theme/colors/light.css` or `theme/colors/dark.css` files, look for `--gnome-icons-hack-filter` var and play with css filters. + +## Development + +If you wanna mess around the styles and change something, you might find these +things useful. + +To use the Inspector to debug the UI, open the developer tools (F12) on any +page, go to options, check both of those: + +- Enable browser chrome and add-on debugging toolboxes +- Enable remote debugging + +Now you can close those tools and press Ctrl+Alt+Shift+I to Inspect the browser +UI. + +Also you can inspect any GTK3 application, for example type this into a terminal +and it will run Epiphany with the GTK Inspector, so you can check the CSS styles +of its elements too. + +```sh +GTK_DEBUG=interactive epiphany +``` + +Feel free to use any parts of my code to develop your own themes, I don't force +any specific license on your code. + +## Credits +Developed by **Rafael Mardojai** and [contributors](https://github.com/rafaelmardojai/firefox-gnome-theme/graphs/contributors). Based on **[Sai Kurogetsu](https://github.com/kurogetsusai/firefox-gnome-theme)** original work. diff --git a/src/other/firefox/chrome/Colloid/colors/dark.css b/src/other/firefox/chrome/Colloid/colors/dark.css new file mode 100644 index 00000000..2601a188 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/colors/dark.css @@ -0,0 +1,115 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Variables that start with --gnome- are added by me and are assigned + * to elements somewhere in this code. The rest of the variables are + * built-in in Firefox, so you need to add an !important if you wanna + * override them. */ +@media (prefers-color-scheme: dark) { + :root { + /* Browser area before a page starts loading */ + --gnome-browser-before-load-background: #242424; + + /* Accent */ + --gnome-accent-bg: #3584e4; + --gnome-accent: #78aeed; + + /* Toolbars */ + --gnome-toolbar-background: #242424; + --gnome-toolbar-color: #ffffff; + --gnome-toolbar-border-color: rgba(255, 255, 255, .15); + --gnome-toolbar-icon-fill: #eeeeec; + --gnome-inactive-toolbar-color: #919190; + --gnome-inactive-toolbar-background: var(--gnome-toolbar-background); + --gnome-inactive-toolbar-border-color: #3F3F3F; + --gnome-inactive-toolbar-icon-fill: #919190; + + /* Sidebar */ + --gnome-sidebar-background: var(--gnome-toolbar-background); + --gnome-inactive-sidebar-background: var(--gnome-sidebar-background); + + /* Menus */ + --gnome-menu-background: #383838; + --gnome-menu-border-color: rgba(0, 0, 0, .14); + --gnome-menu-shadow: 0 1px 5px 1px rgba(0,0,0, .09), 0 2px 14px 3px rgba(0,0,0, .05); + --gnome-menu-button-hover-background: var(--gnome-button-background); + --gnome-menu-separator-color: rgba(255, 255, 255, .1); + + /* Header bar */ + --gnome-headerbar-background: #303030; + --gnome-headerbar-border-color: var(--gnome-toolbar-border-color); + --gnome-inactive-headerbar-background: var(--gnome-inactive-toolbar-background); + --gnome-inactive-headerbar-border-color: var(--gnome-inactive-toolbar-border-color); + + /* Buttons */ + --gnome-button-background: rgba(255, 255, 255, .1); + --gnome-button-hover-background: rgba(255, 255, 255, .15); + --gnome-button-active-background: rgba(255, 255, 255, .3); + --gnome-button-flat-hover-background: rgba(255, 255, 255, .07); + --gnome-button-flat-active-background: rgba(255, 255, 255, .1); + --gnome-button-suggested-action-background: var(--gnome-accent-bg); + --gnome-button-destructive-action-background: #e01b24; + + --gnome-button-close-background: var(--gnome-button-flat-hover-background); + --gnome-button-hover-close-background:var(--gnome-button-hover-background); + --gnome-button-active-close-background: var(--gnome-button-active-background); + + /* TitleButtons */ + --gnome-titlebutton-min-background: #fdbe04; + --gnome-titlebutton-max-background: #38c76a; + --gnome-titlebutton-close-background: #fd5f51; + --gnome-titlebutton-min-hover-background: #fdbe04; + --gnome-titlebutton-max-hover-background: #38c76a; + --gnome-titlebutton-close-hover-background: #fd5f51; + --gnome-titlebutton-min-active-background: #fdcd43; + --gnome-titlebutton-max-active-background: #6ad48e; + --gnome-titlebutton-close-active-background: #fb857c; + + /* Entries */ + --gnome-entry-background: rgba(255, 255, 255, .1); + --gnome-entry-color: #ffffff; + --gnome-inactive-entry-color: #d6d6d6; + --gnome-focused-urlbar-border-color: rgba(120, 174, 237, .5); /* Same as --gnome-accent but with opacity*/ + + /* Switch */ + --gnome-switch-background: rgba(255, 255, 255, .15); + --gnome-switch-slider-background: #d2d2d2; + --gnome-switch-active-background: var(--gnome-accent-bg); + --gnome-switch-active-slider-background: #ffffff; + + /* Tabs */ + --gnome-tabbar-tab-background: #262626; + --gnome-tabbar-tab-border-color: var(--gnome-toolbar-border-color); + --gnome-tabbar-tab-hover-background: #303030; + --gnome-tabbar-tab-active-background: #383838; + --gnome-tabbar-tab-active-background-contrast: #4F4F4F; + --gnome-tabbar-tab-active-hover-background: #424242; + --gnome-inactive-tabbar-tab-background: #1C1C1C; + --gnome-inactive-tabbar-tab-active-background: #242424; + --gnome-tab-button-background: rgba(0, 0, 0, .5); + --gnome-tab-button-hover-background: rgba(0, 0, 0, .6); + --gnome-tabbar-tab-identity-base-opacity: 0; + } + + /* Private window colors */ + :root { + --gnome-private-accent: #71A1DB; + + /* Toolbars */ + --gnome-private-toolbar-background: #1C2438; + --gnome-private-inactive-toolbar-background: var(--gnome-private-toolbar-background); + /* Menus */ + --gnome-private-menu-background: #252F49; + /* Header bar */ + --gnome-private-headerbar-background: #252F49; + --gnome-private-inactive-headerbar-background: var(--gnome-private-toolbar-background); + + /* Text color for Firefox Logo in new private tab */ + --gnome-private-wordmark: #FBFBFE; + + /* New private tab background */ + --gnome-private-in-content-page-background: #1C2438; + + /* Private browsing info box */ + --gnome-private-text-primary-color: #FBFBFE; + } +} diff --git a/src/other/firefox/chrome/Colloid/colors/light.css b/src/other/firefox/chrome/Colloid/colors/light.css new file mode 100644 index 00000000..2fcbb4d2 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/colors/light.css @@ -0,0 +1,114 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Variables that start with --gnome- are added by me and are assigned + * to elements somewhere in this code. The rest of the variables are + * built-in in Firefox, so you need to add an !important if you wanna + * override them. */ + +:root { + /* Browser area before a page starts loading */ + --gnome-browser-before-load-background: #F7F7F7; + + /* Accent */ + --gnome-accent-bg: #5b9bf8; + --gnome-accent: #3c84f7; + + /* Toolbars */ + --gnome-toolbar-background: #f2f2f2; + --gnome-toolbar-color: rgb(46, 52, 54); + --gnome-toolbar-border-color: rgba(0, 0, 0, .15); + --gnome-toolbar-icon-fill: #2e3436; + --gnome-inactive-toolbar-background: #fafafa; + --gnome-inactive-toolbar-color: #d5d0cc; + --gnome-inactive-toolbar-border-color: #DCDCDC; + --gnome-inactive-toolbar-icon-fill: #929595; + + /* Sidebar */ + --gnome-sidebar-background: var(--gnome-toolbar-background); + --gnome-inactive-sidebar-background: var(--gnome-sidebar-background); + + /* Menu */ + --gnome-menu-background: #ffffff; + --gnome-menu-border-color: rgba(0, 0, 0, .14); + --gnome-menu-shadow: 0 1px 5px 1px rgba(0,0,0, .09), 0 2px 14px 3px rgba(0,0,0, .05); + --gnome-menu-button-hover-background: var(--gnome-button-background); + --gnome-menu-separator-color: rgba(0, 0, 0, 0.1); + + /* Header bar */ + --gnome-headerbar-background: #EBEBEB; + --gnome-headerbar-border-color: var(--gnome-toolbar-border-color); + --gnome-inactive-headerbar-background: var(--gnome-inactive-toolbar-background); + --gnome-inactive-headerbar-border-color: var(--gnome-inactive-toolbar-border-color); + + /* Buttons */ + --gnome-button-background: rgba(0, 0, 0, .08); + --gnome-button-hover-background: rgba(0, 0, 0, .12); + --gnome-button-active-background: rgba(0, 0, 0, .24); + --gnome-button-flat-hover-background: rgba(0, 0, 0, .056); + --gnome-button-flat-active-background: rgba(0, 0, 0, .128); + --gnome-button-suggested-action-background: var(--gnome-accent-bg); + --gnome-button-destructive-action-background: #e01b24; + + --gnome-button-close-background: var(--gnome-button-flat-hover-background); + --gnome-button-hover-close-background:var(--gnome-button-hover-background); + --gnome-button-active-close-background: var(--gnome-button-active-background); + + /* TitleButtons */ + --gnome-titlebutton-min-background: #fdbe04; + --gnome-titlebutton-max-background: #38c76a; + --gnome-titlebutton-close-background: #fd5f51; + --gnome-titlebutton-min-hover-background: #fdbe04; + --gnome-titlebutton-max-hover-background: #38c76a; + --gnome-titlebutton-close-hover-background: #fd5f51; + --gnome-titlebutton-min-active-background: #fdcd43; + --gnome-titlebutton-max-active-background: #6ad48e; + --gnome-titlebutton-close-active-background: #fb857c; + + /* Entries */ + --gnome-entry-background: rgba(0, 0, 0, .08); + --gnome-entry-color: #303030; + --gnome-inactive-entry-color: #303030; + --gnome-focused-urlbar-border-color: rgba(28, 113, 216, .5); + + /* Switch */ + --gnome-switch-background: rgba(0, 0, 0, .12); + --gnome-switch-slider-background: #ffffff; + --gnome-switch-active-background: var(--gnome-accent-bg); + --gnome-switch-active-slider-background: #ffffff; + + /* Tabs */ + --gnome-tabbar-tab-background: #eeeeee; + --gnome-tabbar-tab-border-color: var(--gnome-toolbar-border-color); + --gnome-tabbar-tab-hover-background: #dedede; + --gnome-tabbar-tab-active-background: #ffffff; + --gnome-tabbar-tab-active-background-contrast: #FAFAFA; + --gnome-tabbar-tab-active-hover-background: #fafafa; + --gnome-inactive-tabbar-tab-background: #EFEFEF; + --gnome-inactive-tabbar-tab-active-background: #FAFAFA; + --gnome-tab-button-background: rgba(255, 255, 255, .5); + --gnome-tab-button-hover-background: rgba(255, 255, 255, .6); + --gnome-tabbar-tab-identity-base-opacity: .1; +} + +/* Private window colors */ +:root { + --gnome-private-accent: #272F42; + + /* Toolbars */ + --gnome-private-toolbar-background: #EAF0F7; + --gnome-private-inactive-toolbar-background: var(--gnome-private-toolbar-background); + /* Menus */ + --gnome-private-menu-background: #D7E3F0; + /* Header bar */ + --gnome-private-headerbar-background: #D7E3F0; + --gnome-private-inactive-headerbar-background: var(--gnome-private-toolbar-background); + + /* Text color for Firefox Logo in new private tab */ + --gnome-private-wordmark: #20123A; + + /* New private tab background */ + --gnome-private-in-content-page-background: #EAF0F7; + + /* Private browsing info box */ + --gnome-private-text-primary-color: #15141A; +} diff --git a/src/other/firefox/chrome/Colloid/icons/application-x-addon-blocked-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/application-x-addon-blocked-symbolic.svg new file mode 100644 index 00000000..74a645fc --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/application-x-addon-blocked-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/application-x-addon-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/application-x-addon-symbolic.svg new file mode 100644 index 00000000..0b896c92 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/application-x-addon-symbolic.svg @@ -0,0 +1,16 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/applications-engineering-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/applications-engineering-symbolic.svg new file mode 100644 index 00000000..e355e5aa --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/applications-engineering-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/audio-muted-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/audio-muted-symbolic.svg new file mode 100644 index 00000000..905e856d --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/audio-muted-symbolic.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/audio-playing-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/audio-playing-symbolic.svg new file mode 100644 index 00000000..37656ee5 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/audio-playing-symbolic.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/autoplay-media-blocked-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/autoplay-media-blocked-symbolic.svg new file mode 100644 index 00000000..e8ba914e --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/autoplay-media-blocked-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/autoplay-media-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/autoplay-media-symbolic.svg new file mode 100644 index 00000000..85824fe6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/autoplay-media-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/blocked-permission-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/blocked-permission-symbolic.svg new file mode 100644 index 00000000..23482164 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/blocked-permission-symbolic.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/bookmarks-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/bookmarks-symbolic.svg new file mode 100644 index 00000000..1d6cb675 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/bookmarks-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/bullet-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/bullet-symbolic.svg new file mode 100644 index 00000000..2c1dfc5f --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/bullet-symbolic.svg @@ -0,0 +1,47 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/character-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/character-symbolic.svg new file mode 100644 index 00000000..47a62e43 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/character-symbolic.svg @@ -0,0 +1,18 @@ + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/checkbox-checked-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/checkbox-checked-symbolic.svg new file mode 100644 index 00000000..da86336e --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/checkbox-checked-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/checkbox-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/checkbox-symbolic.svg new file mode 100644 index 00000000..554e9272 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/checkbox-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/drm-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/drm-symbolic.svg new file mode 100644 index 00000000..019bec4d --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/drm-symbolic.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/edit-copy-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/edit-copy-symbolic.svg new file mode 100644 index 00000000..e6360cd6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/edit-copy-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/edit-cut-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/edit-cut-symbolic.svg new file mode 100644 index 00000000..d88918c2 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/edit-cut-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/edit-find-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/edit-find-symbolic.svg new file mode 100644 index 00000000..0e0905f2 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/edit-find-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/edit-paste-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/edit-paste-symbolic.svg new file mode 100644 index 00000000..124bf7cd --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/edit-paste-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/folder-download-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/folder-download-symbolic.svg new file mode 100644 index 00000000..1b3aeb8a --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/folder-download-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/folder-locked-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/folder-locked-symbolic.svg new file mode 100644 index 00000000..fbf365e6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/folder-locked-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/folder-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/folder-symbolic.svg new file mode 100644 index 00000000..05e119d9 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/folder-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/forget-history-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/forget-history-symbolic.svg new file mode 100644 index 00000000..f7512cbd --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/forget-history-symbolic.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/geo.svg b/src/other/firefox/chrome/Colloid/icons/geo.svg new file mode 100644 index 00000000..69040ef7 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/geo.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/go-next-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/go-next-symbolic.svg new file mode 100644 index 00000000..ce6449ae --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/go-next-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/go-previous-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/go-previous-symbolic.svg new file mode 100644 index 00000000..ede8ba35 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/go-previous-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/import-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/import-symbolic.svg new file mode 100644 index 00000000..a9fd389e --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/import-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/info-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/info-symbolic-light.svg new file mode 100644 index 00000000..0bc05e03 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/info-symbolic-light.svg @@ -0,0 +1,57 @@ + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/info-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/info-symbolic.svg new file mode 100644 index 00000000..4ed4406e --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/info-symbolic.svg @@ -0,0 +1,57 @@ + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/key-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/key-symbolic.svg new file mode 100644 index 00000000..a0cfcf18 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/key-symbolic.svg @@ -0,0 +1,302 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/library-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/library-symbolic.svg new file mode 100644 index 00000000..20c92767 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/library-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/mail-unread-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/mail-unread-symbolic.svg new file mode 100644 index 00000000..035ac16c --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/mail-unread-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/microphone-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/microphone-symbolic.svg new file mode 100644 index 00000000..4cf08c21 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/microphone-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic-light.svg new file mode 100644 index 00000000..0097eca8 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic-light.svg @@ -0,0 +1,44 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic.svg new file mode 100644 index 00000000..631781d6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/network-workgroup-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/notification-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/notification-symbolic.svg new file mode 100644 index 00000000..eaab11b6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/notification-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/open-folder-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/open-folder-symbolic.svg new file mode 100644 index 00000000..1d13e4d5 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/open-folder-symbolic.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/open-menu-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/open-menu-symbolic.svg new file mode 100644 index 00000000..f5d29646 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/open-menu-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/page-action.svg b/src/other/firefox/chrome/Colloid/icons/page-action.svg new file mode 100644 index 00000000..7c8932e4 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/page-action.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/page-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/page-symbolic.svg new file mode 100644 index 00000000..00b8b8da --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/page-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/pan-down-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/pan-down-symbolic-light.svg new file mode 100644 index 00000000..3582a272 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/pan-down-symbolic-light.svg @@ -0,0 +1,42 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/pan-down-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/pan-down-symbolic.svg new file mode 100644 index 00000000..2a23e847 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/pan-down-symbolic.svg @@ -0,0 +1,41 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/pan-end-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/pan-end-symbolic-light.svg new file mode 100644 index 00000000..f26c35de --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/pan-end-symbolic-light.svg @@ -0,0 +1,42 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/pan-end-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/pan-end-symbolic.svg new file mode 100644 index 00000000..f71194c3 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/pan-end-symbolic.svg @@ -0,0 +1,41 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/pan-start-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/pan-start-symbolic.svg new file mode 100644 index 00000000..305c7675 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/pan-start-symbolic.svg @@ -0,0 +1,41 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/pan-up-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/pan-up-symbolic.svg new file mode 100644 index 00000000..5393133b --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/pan-up-symbolic.svg @@ -0,0 +1,41 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/permissions-granted.svg b/src/other/firefox/chrome/Colloid/icons/permissions-granted.svg new file mode 100644 index 00000000..a6b3b156 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/permissions-granted.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/preferences-system-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/preferences-system-symbolic.svg new file mode 100644 index 00000000..55013cfa --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/preferences-system-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic-light.svg new file mode 100644 index 00000000..53872def --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic-light.svg @@ -0,0 +1,55 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic.svg new file mode 100644 index 00000000..b2ac40df --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/preferences-system-time-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/printer-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/printer-symbolic.svg new file mode 100644 index 00000000..92cf435c --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/printer-symbolic.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/process-stop-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/process-stop-symbolic.svg new file mode 100644 index 00000000..dd95443a --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/process-stop-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/process-working-symbolic-black.svg b/src/other/firefox/chrome/Colloid/icons/process-working-symbolic-black.svg new file mode 100644 index 00000000..cb341688 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/process-working-symbolic-black.svg @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/process-working-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/process-working-symbolic-light.svg new file mode 100644 index 00000000..5d635f52 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/process-working-symbolic-light.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/process-working-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/process-working-symbolic.svg new file mode 100644 index 00000000..9e9c88db --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/process-working-symbolic.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/radio-checked-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/radio-checked-symbolic.svg new file mode 100644 index 00000000..cfb076ed --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/radio-checked-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/radio-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/radio-symbolic.svg new file mode 100644 index 00000000..c7e082cf --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/radio-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/reader-mode.svg b/src/other/firefox/chrome/Colloid/icons/reader-mode.svg new file mode 100644 index 00000000..631b92d1 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/reader-mode.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/save-folder-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/save-folder-symbolic.svg new file mode 100644 index 00000000..9b0c91f9 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/save-folder-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/save-to-pocket-light.svg b/src/other/firefox/chrome/Colloid/icons/save-to-pocket-light.svg new file mode 100644 index 00000000..0c349fae --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/save-to-pocket-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/save-to-pocket.svg b/src/other/firefox/chrome/Colloid/icons/save-to-pocket.svg new file mode 100644 index 00000000..a6df7cfb --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/save-to-pocket.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/screen-blocked-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/screen-blocked-symbolic.svg new file mode 100644 index 00000000..f6633092 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/screen-blocked-symbolic.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/screen-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/screen-symbolic.svg new file mode 100644 index 00000000..585d7ee4 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/screen-symbolic.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/screenshot-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/screenshot-symbolic.svg new file mode 100644 index 00000000..3232ca15 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/screenshot-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/other/firefox/chrome/Colloid/icons/security-broken-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/security-broken-symbolic.svg new file mode 100644 index 00000000..d6315b10 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/security-broken-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/security-warning-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/security-warning-symbolic.svg new file mode 100644 index 00000000..c55aa2a5 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/security-warning-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/select-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/select-symbolic.svg new file mode 100644 index 00000000..050fe29c --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/select-symbolic.svg @@ -0,0 +1,48 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/star-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/star-symbolic.svg new file mode 100644 index 00000000..8ddd7943 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/star-symbolic.svg @@ -0,0 +1,4 @@ + + Gnome Symbolic Icons + + diff --git a/src/other/firefox/chrome/Colloid/icons/starred-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/starred-symbolic.svg new file mode 100644 index 00000000..b04e321a --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/starred-symbolic.svg @@ -0,0 +1,4 @@ + + Gnome Symbolic Icons + + diff --git a/src/other/firefox/chrome/Colloid/icons/sync.svg b/src/other/firefox/chrome/Colloid/icons/sync.svg new file mode 100644 index 00000000..5f622cc2 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/sync.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/tab-new-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/tab-new-symbolic.svg new file mode 100644 index 00000000..91182e05 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/tab-new-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic-light.svg new file mode 100644 index 00000000..9d702df6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic-light.svg @@ -0,0 +1,51 @@ + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic.svg new file mode 100644 index 00000000..ac5a868d --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/tab-sync-symbolic.svg @@ -0,0 +1,51 @@ + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/toggle-right-sidebar-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/toggle-right-sidebar-symbolic.svg new file mode 100644 index 00000000..7feef895 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/toggle-right-sidebar-symbolic.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/toggle-sidebar-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/toggle-sidebar-symbolic.svg new file mode 100644 index 00000000..e4fd74a7 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/toggle-sidebar-symbolic.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/tracking-protection-animatable.svg b/src/other/firefox/chrome/Colloid/icons/tracking-protection-animatable.svg new file mode 100644 index 00000000..6b9c2cfe --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/tracking-protection-animatable.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/tracking-protection.svg b/src/other/firefox/chrome/Colloid/icons/tracking-protection.svg new file mode 100644 index 00000000..7372a29a --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/tracking-protection.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/user-home-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/user-home-symbolic.svg new file mode 100644 index 00000000..a4861f9b --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/user-home-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/user-not-tracked-dark.svg b/src/other/firefox/chrome/Colloid/icons/user-not-tracked-dark.svg new file mode 100644 index 00000000..063cfcdf --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/user-not-tracked-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/user-not-tracked.svg b/src/other/firefox/chrome/Colloid/icons/user-not-tracked.svg new file mode 100644 index 00000000..0e95acf8 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/user-not-tracked.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/view-fullscreen-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/view-fullscreen-symbolic.svg new file mode 100644 index 00000000..5e255ec3 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/view-fullscreen-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/view-more-horizontal-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/view-more-horizontal-symbolic.svg new file mode 100644 index 00000000..6c54fac3 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/view-more-horizontal-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/view-refresh-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/view-refresh-symbolic.svg new file mode 100644 index 00000000..823710eb --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/view-refresh-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/view-restore-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/view-restore-symbolic.svg new file mode 100644 index 00000000..b505414a --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/view-restore-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/window-close-symbolic-light.svg b/src/other/firefox/chrome/Colloid/icons/window-close-symbolic-light.svg new file mode 100644 index 00000000..fe15e26f --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/window-close-symbolic-light.svg @@ -0,0 +1,4 @@ + + Gnome Symbolic Icons + + diff --git a/src/other/firefox/chrome/Colloid/icons/window-close-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/window-close-symbolic.svg new file mode 100644 index 00000000..16ac5159 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/window-close-symbolic.svg @@ -0,0 +1,4 @@ + + Gnome Symbolic Icons + + diff --git a/src/other/firefox/chrome/Colloid/icons/window-maximize-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/window-maximize-symbolic.svg new file mode 100644 index 00000000..e0b8cc7b --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/window-maximize-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/window-minimize-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/window-minimize-symbolic.svg new file mode 100644 index 00000000..428001f8 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/window-minimize-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/other/firefox/chrome/Colloid/icons/window-new-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/window-new-symbolic.svg new file mode 100644 index 00000000..4e50a7c0 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/window-new-symbolic.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/window-restore-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/window-restore-symbolic.svg new file mode 100644 index 00000000..03be1d94 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/window-restore-symbolic.svg @@ -0,0 +1,5 @@ + + Gnome Symbolic Icons + + + diff --git a/src/other/firefox/chrome/Colloid/icons/zoom-in-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/zoom-in-symbolic.svg new file mode 100644 index 00000000..473ed972 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/zoom-in-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/icons/zoom-out-symbolic.svg b/src/other/firefox/chrome/Colloid/icons/zoom-out-symbolic.svg new file mode 100644 index 00000000..adc86051 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/icons/zoom-out-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/other/firefox/chrome/Colloid/pages/newtab.css b/src/other/firefox/chrome/Colloid/pages/newtab.css new file mode 100644 index 00000000..1c94e842 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/pages/newtab.css @@ -0,0 +1,9 @@ +/* about:newtab */ + +@-moz-document url("about:newtab"), url("about:home") { + body { + --newtab-background-color: var(--gnome-browser-before-load-background) !important; + --newtab-background-color-secondary: var(--gnome-menu-background) !important; + --newtab-primary-action-background: var(--gnome-accent) !important; + } +} diff --git a/src/other/firefox/chrome/Colloid/pages/privatebrowsing.css b/src/other/firefox/chrome/Colloid/pages/privatebrowsing.css new file mode 100644 index 00000000..e1600ec4 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/pages/privatebrowsing.css @@ -0,0 +1,16 @@ +/* about:privatebrowsing */ + +@-moz-document url("about:privatebrowsing") { + html.private { + --in-content-page-background: var(--gnome-private-in-content-page-background) !important; + + /* Used by headings in promo boxes Firefox shows (like an ad for Firefox Focus) */ + --in-content-text-color: var(--gnome-private-text-primary-color) !important; + } + .wordmark { + fill: var(--gnome-private-wordmark) !important; + } + .showPrivate { + color: var(--gnome-private-text-primary-color); + } +} diff --git a/src/other/firefox/chrome/Colloid/parts/buttons-fixes.css b/src/other/firefox/chrome/Colloid/parts/buttons-fixes.css new file mode 100644 index 00000000..1f4447fd --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/buttons-fixes.css @@ -0,0 +1,286 @@ +/* Buttons Issues/Glitches fixes */ +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Fix notification dropmarker */ +.popup-notification-dropmarker dropmarker { + display: none !important; +} +.popup-notification-dropmarker > .button-box > hbox { + display: -moz-box !important; +} +.panel-footer button.popup-notification-dropmarker { + padding: 0 1px 0 4px !important; +} + +/* Fix hover background */ +.toolbarbutton-badge-stack:not(#hack), .toolbarbutton-icon:not(#hack), .toolbarbutton-text:not(#hack) { + background: transparent !important; +} + +/* Fix button box */ +.panel-footer.panel-footer-menulike > button > .button-box { + display: -moz-box !important; +} + +/* menulist */ +#label-box:not([native]) { + font-weight: 400 !important; +} + +/* Overrides: Make the back button the same as other buttons */ +:root:not([uidensity=compact]) #back-button { + border-radius: var(--toolbarbutton-border-radius) !important; +} +:root:not([uidensity=compact]) #back-button > .toolbarbutton-icon { + background-color: unset !important; + border: unset !important; + width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important; + height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important; + padding: var(--toolbarbutton-inner-padding) !important; + border-radius: var(--toolbarbutton-border-radius); + box-shadow: none !important; +} +:root:not([uidensity=compact]) #back-button:not([disabled]):not([open]):hover > .toolbarbutton-icon { + background-color: var(--toolbarbutton-hover-background) !important; + box-shadow: unset; + border-color: unset; +} +:root:not([uidensity=compact]) #back-button[open] > .toolbarbutton-icon, +:root:not([uidensity=compact]) #back-button:not([disabled]):hover:active > .toolbarbutton-icon { + background-color: var(--toolbarbutton-active-background) !important; + border-color: unset; +} + +/* Remove the header bar buttons' hover styles */ +#nav-bar { + --toolbarbutton-active-background: transparent !important; + --toolbarbutton-hover-background: transparent !important; +} + +/* Glitch customizing: Cut / Copy / Paste buttons' icons + * :not(#hack) is there just to elevate rule priority */ +:root[customizing] #nav-bar > hbox toolbaritem toolbarbutton image:not(#hack) { + opacity: 1 !important; +} +/* Glitch customizing: Reload and Cut / Copy / Paste buttons */ +:root:-moz-window-inactive[customizing] #nav-bar #stop-reload-button toolbarbutton, +:root:-moz-window-inactive[customizing] #nav-bar #edit-controls toolbarbutton { + background-image: var(--gnome-inactive-button-background); + box-shadow: var(--gnome-inactive-button-box-shadow); +} +/* Glitch customizing: Reload and Cut / Copy / Paste buttons' icons */ +:root:-moz-window-inactive[customizing] #nav-bar #stop-reload-button image.toolbarbutton-icon, +:root:-moz-window-inactive[customizing] #nav-bar #edit-controls image.toolbarbutton-icon { + opacity: .7 !important; +} + +/* Glitch: Overflow and Burger buttons + * :not(#hack) is there just to elevate rule priority */ +:root[customizing] #nav-bar > toolbarbutton[disabled]:not(#hack), +:root[customizing] #nav-bar > toolbaritem > toolbarbutton[disabled]:not(#hack) { + opacity: .5 !important; +} +/* Glitch: Overflow button's icon */ +:root[customizing] #nav-bar toolbarbutton:not(#urlbar-zoom-button)[disabled] image { + fill-opacity: var(--toolbarbutton-icon-fill-opacity) !important; +} + +/* Bookmark buttons */ +#nav-bar toolbarbutton.bookmark-item { + width: auto !important; +} +#nav-bar toolbarbutton.bookmark-item .toolbarbutton-icon { + margin-left: 6px; +} +#nav-bar toolbarbutton.bookmark-item .toolbarbutton-text { + padding-right: 6px; +} + +/* Remove Burger button's left separator */ +#PanelUI-button { + border: 0 !important; + margin: 0 !important; + padding-inline-start: 0 !important; +} + +/* Space main menu button from other headerbar buttons +#nav-bar #PanelUI-menu-button:not(#hack) { + margin-left: 10px !important; +}*/ + +/* Fix library animation */ +#library-animatable-box { + --library-button-height: 46px !important; + --library-icon-x: 1716px !important; + /*--library-icon-x: 1715.9833984375px !important;*/ +} +#library-button[animate] > .toolbarbutton-icon { + fill: transparent !important; +} + +/* Fix toolbars close icons */ +.close-icon:not(.tab-close-button) .toolbarbutton-icon { + height: 16px !important; + width: 16px !important; + margin: 6px !important; + padding: 0 !important; +} +button.close { + margin: 0 !important; +} + +/* */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"]::after { + display: none !important; +} + +/* Identity site popover buttons */ +.identity-popup-preferences-button:not(#hack) { + list-style-image: url("chrome://browser/skin/settings.svg") !important; +} +#tracking-protection-preferences-button > .toolbarbutton-text { + padding-inline-end: 0 !important; +} +.protections-popup-footer-button-label { + margin-inline-start: 3px !important; +} + +/* Fix findbar buttons issues */ +.findbar-container .findbar-find-previous image, +.findbar-container .findbar-find-next image { + margin: 6px !important; + opacity: 1 !important; +} +.findbar-container toolbarbutton:focus { + outline: 0 !important; +} + +/* Sidebar header button reset font size */ +#sidebar-header { + font-size: 1em !important; +} + +/* Sidebar header button arrow opacity */ +#sidebar-switcher-arrow { + opacity: 1 !important; +} + +/* Sidebar history view */ +#viewButton { + margin: 0 !important; + margin-inline-start: 6px !important; +} + +/* Menulist */ +#identity-popup-popup-menulist { + margin-right: 0 !important; +} + +/* Auto complete popup button*/ +.autocomplete-richlistitem[type="loginsFooter"] { + margin: 4px 4px 0 4px !important; +} + +/* Identity popup tracking protection button */ +.tracking-protection-button { + margin-inline-end: 0 !important; +} + +/* Identity popup delete permission button */ +.identity-popup-permission-remove-button { + opacity: 1 !important; +} + +/* Identity popup expander button */ +#identity-popup-security { + -moz-box-align: center; +} +#identity-popup-security-expander { + width: 34px !important; +} +#identity-popup-security-expander .button-icon { + margin: 0 !important; +} + +/* Protections popup */ +#protections-popup-info-button { + margin: 0 !important; + margin-inline-end: 0 !important; +} +.protections-popup-footer-icon { + display: none !important; +} +.protections-popup-footer-button-label { + margin-inline-start: 0 !important; +} +#protections-popup-footer-protection-type-label { + margin-inline-end: 0 !important; + margin-block: 0 !important; +} + +/* Close button */ +.close-icon:not(.tab-close-button) .toolbarbutton-icon { + outline: 0 !important; +} + +/* Downloads button */ +#downloads-indicator-progress-inner { + background: conic-gradient(var(--gnome-toolbar-icon-fill) var(--download-progress-pcent), transparent var(--download-progress-pcent)) !important; +} +#downloads-indicator-progress-outer, +#downloads-indicator-start-image, +#downloads-indicator-finish-image { + border: 0 !important; + padding: 0 !important; + border-radius: 100% !important; +} +#downloads-indicator-progress-outer, +#downloads-indicator-start-image { + background: var(--gnome-toolbar-border-color) !important; +} +#downloads-indicator-finish-image { + background: var(--gnome-toolbar-icon-fill) !important; +} +#downloads-button .toolbarbutton-animatable-box { + top: 8px !important; + left: 8px !important; +} +#downloads-button .toolbarbutton-animatable-box, +#downloads-button .toolbarbutton-animatable-image, +#downloads-indicator-progress-inner { + height: 16px !important; + width: 16px !important; +} +#downloads-button .toolbarbutton-animatable-image { + --anim-steps: 1 !important; + transform: none !important; + list-style-image: none !important; +} + +/* Stop/Reload button */ +#stop-reload-button .toolbarbutton-animatable-image:not(#hack) { + --anim-steps: 1 !important; + transform: none !important; + list-style-image: none !important; + display: none !important; +} +#stop-reload-button .toolbarbutton-icon { + margin-top: -2px !important; +} + +/* Panel banner */ +#appMenu-popup .panel-banner-item { + margin: 0 0 6px !important; +} +#appMenu-popup .panel-banner-item > .toolbarbutton-text { + margin-inline: 0 !important; +} + +/* User menu */ +#fxa-toolbar-menu-button .toolbarbutton-badge-stack { + padding: 0 !important; +} +#fxa-avatar-image { + min-height: 24px !important; + width: 24px !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/buttons.css b/src/other/firefox/chrome/Colloid/parts/buttons.css new file mode 100644 index 00000000..2dc141ef --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/buttons.css @@ -0,0 +1,321 @@ +/* Buttons */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Hide buttons separator */ +#nav-bar .toolbaritem-combined-buttons separator { + display: none !important; +} +#appMenu-popup .toolbaritem-combined-buttons toolbarseparator { + border: 0 !important; +} + +/* Buttons */ +menulist, +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton), +.subviewbutton.panel-subview-footer, +.panel-footer button, +#downloadsPanel-mainView .download-state .downloadButton, +#appMenu-popup .panel-banner-item, +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(#appMenu-fxa-label), +#context-navigation menuitem, +.identity-popup-preferences-button:not(#hack), +.findbar-container toolbarbutton, +#sidebar-switcher-target, +#viewButton, +.close-icon:not(.tab-close-button), +button.close, +.menulist-label-box, +.expander-down, .expander-up, +.notification-button, +#identity-popup-security-expander, +#protections-popup-info-button, +#PanelUI-panic-view-button, +.tracking-protection-button, +.dialog-button, +.autocomplete-richlistitem[type="loginsFooter"], +.dialog-button-box button, +.searchbar-engine-one-off-item, +.permission-popup-permission-remove-button, +.button.connect-device, +#item-choose button, +#editBMPanel_newFolderButton { + -moz-appearance: none !important; + background: var(--gnome-button-background) !important; + border-radius: 6px !important; + border: 0 !important; + padding: 0 1px !important; + height: 34px !important; + max-height: 34px !important; + min-height: 34px !important; + min-width: 34px !important; + color: var(--gnome-toolbar-color) !important; + outline: 0 !important; + font: menu !important; + -moz-box-align: center !important; +} +.subviewbutton-iconic { + -moz-box-pack: center !important; +} + +/* Flat Buttons */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton), +.close-icon:not(.tab-close-button), +button.close, +#protections-popup-info-button, +.permission-popup-permission-remove-button { + background: transparent !important; +} + +/* Buttons with margins */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton), +.notification-button, +.subviewbutton.panel-subview-footer:not(:only-of-type), +.panel-footer button:not(:only-of-type) { + margin: 0 3px !important; +} +.close-icon:not(.tab-close-button) { + margin-left: 6px !important; +} + +/* Text buttons */ +menulist, +.subviewbutton.panel-subview-footer, +.panel-footer button, +#appMenu-popup .panel-banner-item, +#appMenu-popup #appMenu-zoomReset-button2:not(#hack), +#tracking-protection-preferences-button:not(#hack), +.findbar-container toolbarbutton.findbar-button, +.notification-button, +#PanelUI-panic-view-button, +.tracking-protection-button, +.dialog-button, +.autocomplete-richlistitem[type="loginsFooter"], +.dialog-button-box button, +.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]), [overflowedItem="true"]) > #appMenu-fxa-label2:not(#hack), +.button.connect-device, +#item-choose button, +#editBMPanel_newFolderButton { + padding: 2px 16px !important; +} +.subviewbutton.panel-subview-footer label, +.panel-footer button, +#appMenu-popup .panel-banner-item .toolbarbutton-text, +#appMenu-popup #appMenu-zoomReset-button2:not(#hack), +#tracking-protection-preferences-button:not(#hack), +.findbar-container toolbarbutton.findbar-button, +.notification-button, +#PanelUI-panic-view-button, +.tracking-protection-button, +.dialog-button, +.autocomplete-richlistitem[type="loginsFooter"], +.dialog-button-box button, +.button.connect-device, +#item-choose button { + text-align: center !important; +} + +/* Drop down buttons */ +#sidebar-switcher-target, +#viewButton { + padding: 2px 16px !important; + position: relative; +} +#sidebar-switcher-arrow, +#viewButton .button-menu-dropmarker { /* Arrow position, type b */ + transform: translate(6px, 0) +} +.menulist-label-box { + padding: 2px 26px 2px 16px !important; + position: relative; +} +.menulist-label-box:after { /* Arrow position */ + position: absolute !important; + right: 8px !important; + top: 8px !important; +} +.menulist-label-box:after { /* Create arrow if icon tag no exist */ + content: ""; +} + +/* Hover buttons */ +menulist:hover, +.subviewbutton.panel-subview-footer:hover, +.panel-footer button:hover, +#downloadsPanel-mainView .download-state .downloadButton:hover, +#appMenu-popup .panel-banner-item:hover, +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(#appMenu-fxa-label):not([disabled="true"]):hover, +#context-navigation menuitem:not([disabled="true"]):hover, +.identity-popup-preferences-button:not(#hack):hover, +.findbar-container toolbarbutton:hover, +.findbar-closebutton .toolbarbutton-icon:hover, +#sidebar-switcher-target:hover, +#viewButton:hover, +menulist:hover .menulist-label-box, +.expander-down:hover, .expander-up:hover, +.notification-button:hover, +#identity-popup-security-expander:hover, +.tracking-protection-button:hover, +.dialog-button:hover, +.autocomplete-richlistitem[type="loginsFooter"]:hover, +.dialog-button-box button:not([disabled="true"]):hover, +.searchbar-engine-one-off-item:hover, +.button.connect-device:hover, +#editBMPanel_newFolderButton:hover { + outline: 0 !important; + background: var(--gnome-button-hover-background) !important; +} + +/* Hover flat buttons */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not([open]):not([disabled="true"]):not([checked]):hover, +.close-icon:not(.tab-close-button):hover, +button.close:hover, +#protections-popup-info-button:hover, +.permission-popup-permission-remove-button:hover, +#item-choose button:hover { + outline: 0 !important; + background: var(--gnome-button-flat-hover-background) !important; +} + +/* Active buttons */ +menulist[open], +.subviewbutton.panel-subview-footer:active, +.panel-footer button:active, +#downloadsPanel-mainView .download-state .downloadButton:active, +#appMenu-popup .panel-banner-item:active, +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not([disabled="true"]):not(#appMenu-fxa-label):active, +#context-navigation menuitem:active:not([disabled="true"]), +.identity-popup-preferences-button:not(#hack):active, +.findbar-container toolbarbutton[checked], +.findbar-container toolbarbutton:active, +#sidebar-switcher-target:active, #sidebar-switcher-target.active, +#viewButton[open], +menulist[open] .menulist-label-box, +.expander-down:active, .expander-up:active, +.notification-button:active, +#identity-popup-security-expander:active, +.tracking-protection-button:active, +.dialog-button:active, +.autocomplete-richlistitem[type="loginsFooter"]:active, +.dialog-button-box button:not([disabled="true"]):active, +.button.connect-device:active, +#editBMPanel_newFolderButton:active { + background: var(--gnome-button-active-background) !important; +} + +/* Active flat buttons */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not([disabled="true"]):not(#hack):active, +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not(.subviewbutton):not([disabled="true"])[open], +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not([disabled="true"])[checked], +.close-icon:not(.tab-close-button):active, +button.close:active, +#protections-popup-info-button:not(#hack):active, +#protections-popup-info-button:not(#hack)[checked], +.permission-popup-permission-remove-button:active, +#item-choose button:active { + background: var(--gnome-button-flat-active-background) !important; +} + +/* Disabled buttons */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button)[disabled="true"], +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton[disabled="true"], +#context-navigation menuitem[disabled="true"], +.dialog-button-box button[disabled="true"] { + opacity: .5 !important; +} + +/* Inactive window buttons */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):-moz-window-inactive, +.findbar-container toolbarbutton:-moz-window-inactive, +#sidebar-switcher-target:-moz-window-inactive, +#viewButton:-moz-window-inactive, +.notification-button:-moz-window-inactive { + background: var(--gnome-inactive-button-background) !important; + box-shadow: var(--gnome-inactive-button-box-shadow) !important; + border-color: var(--gnome-inactive-button-border-color) !important; +} + +/* Circle buttons */ +#downloadsPanel-mainView .download-state .downloadButton, +.permission-popup-permission-remove-button:not(#hack) { + border-radius: 100% !important; +} + +/* Combined buttons */ +#nav-bar .toolbaritem-combined-buttons toolbarbutton:not(:last-of-type):not(#hack), +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(:last-of-type):not(#appMenu-zoomEnlarge-button), +#context-navigation menuitem:not(:last-of-type), +.findbar-container toolbarbutton.findbar-find-previous, +.findbar-button:not(:last-of-type), +.search-panel-one-offs .searchbar-engine-one-off-item:not(:last-child) { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; + border-right-width: 0 !important; + margin-right: 0 !important; +} + +#nav-bar .toolbaritem-combined-buttons toolbarbutton:not(:first-of-type):not(#hack), +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(:first-of-type):not(#appMenu-fullscreen-button), +#context-navigation menuitem:not(:first-of-type), +.findbar-container toolbarbutton.findbar-find-previous, +.findbar-container toolbarbutton.findbar-find-next, +.findbar-button:not(:first-of-type), +.search-panel-one-offs .searchbar-engine-one-off-item:not(:first-child) { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + margin-left: 0 !important; +} + +#nav-bar .toolbaritem-combined-buttons { + margin-left: 0 !important; + margin-right: 0 !important; +} + +/* Opaque buttons */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"], +button.popup-notification-primary-button, +#editBookmarkPanelDoneButton, +#tracking-action-block, +.button.connect-device, +#editBookmarkPanelRemoveButton, +#PanelUI-panic-view-button { + color: white !important; + font-weight: bold !important; +} + +/* Buttons with suggested action */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"], +button.popup-notification-primary-button:not(#hack), +#editBookmarkPanelDoneButton, +#tracking-action-block, +.button.connect-device { + background-color: var(--gnome-button-suggested-action-background) !important; +} + +/* Buttons with destructive action */ +#editBookmarkPanelRemoveButton, +#PanelUI-panic-view-button { + background-color: var(--gnome-button-destructive-action-background) !important; +} + +/* Opaque buttons hover */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"]:hover, +button.popup-notification-primary-button:hover, +#editBookmarkPanelDoneButton:hover, +#tracking-action-block:hover, +.button.connect-device:hover, +#editBookmarkPanelRemoveButton:hover, +#PanelUI-panic-view-button:hover { + background-image: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1)) !important; +} + +/* Opaque buttons active */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"]:active, +button.popup-notification-primary-button:active, +#editBookmarkPanelDoneButton:active, +#tracking-action-block:active, +.button.connect-device:active, +#editBookmarkPanelRemoveButton:active, +#PanelUI-panic-view-button:active { + background-image: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)) !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/controls.css b/src/other/firefox/chrome/Colloid/parts/controls.css new file mode 100644 index 00000000..acf30274 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/controls.css @@ -0,0 +1,46 @@ +/* Controls */ +/* Switchers, Checkboxes, etc. */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Switchers */ +.protections-popup-tp-switch-box { + padding: 0 !important; + -moz-box-pack: start !important; +} +#protections-popup-tp-switch:not([enabled])[showdotindicator]::after { + display: none !important; +} +#protections-popup-tp-switch { + background: var(--gnome-switch-background) !important; + border: 0 !important; + border-radius: 24px !important; + min-width: 48px !important; + width: 48px !important; + min-height: 26px !important; + padding: 0 !important; + position: relative !important; + display: block !important; + margin: 0 !important; +} +#protections-popup-tp-switch::before { + position: absolute !important; + top: 2px; + left: 2px; + background: var(--gnome-switch-slider-background) !important; + box-shadow: 0 2px 4px rgba(0, 0, 0, .2); + border: 0 !important; + border-radius: 24px !important; + height: 22px !important; + width: 22px !important; + transition: left .2s ease; + outline: 0 !important; +} +#protections-popup-tp-switch[enabled] { + background: var(--gnome-switch-active-background) !important; + padding-inline-start: 24px !important; +} +#protections-popup-tp-switch[enabled]::before { + background: var(--gnome-switch-active-slider-background) !important; + left: 24px; +} diff --git a/src/other/firefox/chrome/Colloid/parts/csd.css b/src/other/firefox/chrome/Colloid/parts/csd.css new file mode 100644 index 00000000..b60ad5b6 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/csd.css @@ -0,0 +1,226 @@ +/* GNOME CSD styles for headerbar on Firefox [tabsintitlebar] */ + +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +#main-window { + -moz-appearance: -moz-window-titlebar !important; +} + +/* Headerbar top border corners rounded */ +:root[tabsintitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) #nav-bar { + border-radius: env(-moz-gtk-csd-titlebar-radius) env(-moz-gtk-csd-titlebar-radius) 0 0 !important; +} + +/* Window buttons: at least 1 button */ +@media (-moz-gtk-csd-minimize-button), (-moz-gtk-csd-maximize-button), (-moz-gtk-csd-close-button) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-right: 50px !important; + } +} +/* Window buttons: at least 2 buttons */ +@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button), + (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button), + (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-right: 90px !important; + } +} +/* Window buttons: 3 buttons */ +@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-right: 130px !important; + } +} + +/* Left window buttons */ +@media (-moz-gtk-csd-reversed-placement) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-right: 3px !important; + } + + /* Window buttons box */ + :root[tabsintitlebar] #titlebar .titlebar-buttonbox-container { + left: 0; + right: auto !important; + } + + /* Window controls: at least 1 button */ + @media (-moz-gtk-csd-minimize-button), (-moz-gtk-csd-maximize-button), (-moz-gtk-csd-close-button) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-left: 50px !important; + } + } + /* Window controls: at least 2 buttons */ + @media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button), + (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button), + (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-left: 90px !important; + } + } + /* Window controls: 3 buttons */ + @media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) { + :root[tabsintitlebar]:not([inFullscreen]) #nav-bar { + padding-left: 130px !important; + } + } +} + +/* Fullscreen headerbar padding for 1 button */ +:root[tabsintitlebar][inFullscreen] #nav-bar { + padding-right: 50px !important; +} + +/* Remove close and minimize buttons from fullscreen buttons */ +:root[tabsintitlebar][inFullscreen] #window-controls #close-button, +:root[tabsintitlebar][inFullscreen] #window-controls #minimize-button, +:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox-container { + display: none !important; +} + +/* Remove tabsbar titlebar blank spaces */ +:root[tabsintitlebar] #TabsToolbar .titlebar-placeholder { + display: none !important; +} + +/* Prevent menubar from breaking */ +:root[tabsintitlebar] #toolbar-menubar:not([inactive=true]) { + height: 30px !important; + margin-bottom: 8px; +} + +/* Remove default style of titlebar */ +:root[tabsintitlebar] #titlebar { + -moz-appearance: none !important; +} + +/* Fix the issue when dragging tabs */ +:root[tabsintitlebar] #navigator-toolbox[movingtab] #TabsToolbar { + padding-bottom: 0 !important; +} + +/* Window buttons box */ +:root[tabsintitlebar] #titlebar .titlebar-buttonbox-container, +:root[tabsintitlebar] #titlebar-buttonbox-container, +:root[tabsintitlebar][inFullscreen] #window-controls { + -moz-appearance: none !important; + padding: 6px 10px 6px 0; + position: absolute !important; + right: 0; + top: 0; + display: block !important; +} +:root[tabsintitlebar] #titlebar .titlebar-buttonbox { + -moz-appearance: none !important; +} + +/* Window buttons style */ +:root[tabsintitlebar] #titlebar .titlebar-button, +:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton { + -moz-appearance: none !important; + padding: 0 !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-button { + border-radius: 100% !important; + height: 16px !important; + margin: 10px 7px !important; + width: 16px !important; +} + +:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton { + border-radius: 6px !important; + height: 32px; + margin: 0 4px !important; + width: 32px; +} + +:root[tabsintitlebar] #titlebar toolbarbutton > .toolbarbutton-icon { + padding: 0 !important; + stroke: none !important; + -moz-context-properties: fill, fill-opacity !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-button .toolbarbutton-icon, +:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton .toolbarbutton-icon { + width: 16px; +} +:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-button, +:root[tabsintitlebar][inFullscreen] #window-controls:-moz-window-inactive toolbarbutton { + opacity: .3 !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-min, +:root[tabsintitlebar] #titlebar #titlebar-min { + background: var(--gnome-titlebutton-min-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-restore, +:root[tabsintitlebar] #titlebar .titlebar-max, +:root[tabsintitlebar] #titlebar #titlebar-max { + background: var(--gnome-titlebutton-max-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-close, +:root[tabsintitlebar] #titlebar #titlebar-close { + background: var(--gnome-titlebutton-close-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-min:hover, +:root[tabsintitlebar] #titlebar #titlebar-min:hover { + background: var(--gnome-titlebutton-min-hover-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-restore:hover, +:root[tabsintitlebar] #titlebar .titlebar-max:hover, +:root[tabsintitlebar] #titlebar #titlebar-max:hover { + background: var(--gnome-titlebutton-max-hover-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-close:hover, +:root[tabsintitlebar] #titlebar #titlebar-close:hover { + background: var(--gnome-titlebutton-close-hover-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-min:active, +:root[tabsintitlebar] #titlebar #titlebar-min:active { + background: var(--gnome-titlebutton-min-active-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-restore:active, +:root[tabsintitlebar] #titlebar .titlebar-max:active, +:root[tabsintitlebar] #titlebar #titlebar-max:active { + background: var(--gnome-titlebutton-max-active-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-close:active, +:root[tabsintitlebar] #titlebar #titlebar-close:active { + background: var(--gnome-titlebutton-close-active-background) !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-button:not(:hover):not(:active) .toolbarbutton-icon { + list-style-image: none !important; + filter: none !important; + fill: transparent !important; + color: transparent !important; +} + +:root[tabsintitlebar] #titlebar .titlebar-button:hover .toolbarbutton-icon, +:root[tabsintitlebar] #titlebar .titlebar-button:active .toolbarbutton-icon { + filter: invert(100%) brightness(200%) !important; +} + +/* OPTIONAL: Allow draging the window from headerbar buttons */ +@supports -moz-bool-pref("gnomeTheme.dragWindowHeaderbarButtons") { + :root[tabsintitlebar] #nav-bar *, + :root[tabsintitlebar] #titlebar .titlebar-button, + :root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton { + -moz-window-dragging: drag; + } + + /* Avoid window dragging from urlbar */ + :root[tabsintitlebar] #nav-bar .urlbar-input-box, + :root[tabsintitlebar] #nav-bar .urlbar-input-box * { + -moz-window-dragging: no-drag !important; + } +} diff --git a/src/other/firefox/chrome/Colloid/parts/dialogs.css b/src/other/firefox/chrome/Colloid/parts/dialogs.css new file mode 100644 index 00000000..f5e7084a --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/dialogs.css @@ -0,0 +1,77 @@ +/* Dialogs */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +window { + padding: 0 !important; +} + +/* Browser dialog prompts center */ +.dialogOverlay { + display: grid; + place-content: center; + justify-content: center; + grid-auto-rows: min(90%, var(--doc-height-px)); +} +.dialogOverlay[topmost="true"], #window-modal-dialog::backdrop { + background-color: rgba(0, 0, 0, .5) !important; +} + +/* Dialog */ +.dialogBox { + border-radius: 12px !important; + margin-top: 0 !important; +} + +window[role="dialog"] { + background: var(--gnome-toolbar-background) !important; + border: 0 !important; + box-shadow: var(--gnome-menu-shadow) !important; + padding: 0 !important; +} +dialog { + padding: 0 !important; +} + +/* Content */ +.dialog-content-box { + padding: 24px; +} +#titleContainer { + justify-content: center !important; +} +.titleIcon { + background-color: transparent !important; +} + +/* Buttons */ +.dialog-button-box { + display: flex !important; +} + +.dialog-button-box button:not(#hack) { + height: auto !important; + max-height: unset !important; + padding: 10px 14px !important; + margin: 0 !important; + border-radius: 0 !important; + flex: 1; + border-bottom: 0 !important; +} + +/* Buttons borders - only suppor for cancel/ok */ +.dialog-button-box button[dlgtype="accept"] { + border-right: 0 !important; + border-left: 0 !important; +} +.dialog-button-box button[dlgtype="cancel"]:not(#hack) { + border-left: 0 !important; +} + +/* Hadler dialog */ +#os-default-handler image { + display: none !important; +} +#os-default-handler .name { + font-weight: normal !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/entries.css b/src/other/firefox/chrome/Colloid/parts/entries.css new file mode 100644 index 00000000..8ec86ed9 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/entries.css @@ -0,0 +1,123 @@ +/* Entries */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Entries */ +#urlbar, +#searchbar, +#search-box, +.findbar-textbox, +#loginTextbox, +#password1Textbox, +.tabsFilter, +#editBMPanel_namePicker, +#editBMPanel_tagsField { + -moz-appearance: none !important; + background: var(--gnome-entry-background) !important; + border: 0 !important; + border-radius: 8px !important; + box-shadow: none !important; + color: var(--gnome-entry-color) !important; + height: 34px !important; + max-height: 34px !important; + margin: 0 !important; + padding: 6px !important; + box-sizing: border-box; +} + +/* Entries focused */ +#urlbar[breakout][breakout-extend], +#urlbar[focused="true"]:not([suppress-focus-border]), +#searchbar:focus-within, +#search-box[focused], +.findbar-textbox[focused], +.findbar-textbox:focus, +#loginTextbox:focus, +#password1Textbox:focus, +.tabsFilter[focused], +#editBMPanel_namePicker:focus-visible, +#editBMPanel_tagsField:focus-visible { + outline: 2px solid var(--gnome-focused-urlbar-border-color) !important; + outline-offset: -2px; + -moz-outline-radius: 5px; +} + +/* Inactive window entries */ +#urlbar:-moz-window-inactive, +#searchbar:-moz-window-inactive, +#search-box:-moz-window-inactive, +.findbar-textbox:-moz-window-inactive, +#loginTextbox:-moz-window-inactive, +#password1Textbox:-moz-window-inactive, +.tabsFilter:-moz-window-inactive { + color: var(--gnome-inactive-entry-color) !important; +} + +/* Entries combined */ +.findbar-textbox:not(.minimal) { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; + border-right-width: 0 !important; +} +.findbar-textbox:not(.minimal)[focused], .findbar-textbox:not(.minimal):focus { + -moz-outline-radius: 5px 0 0 5px !important; +} + +/* Entry button */ +.identity-box-button, +#tracking-protection-icon-container, +#notification-popup-box, +.urlbar-page-action, +.urlbar-icon { + fill-opacity: 0.8 !important; +} + +.identity-box-button:hover:not([open="true"]), +#tracking-protection-icon-container:hover:not([open="true"]), +#notification-popup-box:hover:not([open="true"]), +.urlbar-page-action:hover:not([open="true"]), +.urlbar-page-action:hover:not([open="true"]) .urlbar-icon, +.urlbar-icon:not([disabled]):hover { + background: none !important; + fill-opacity: 1 !important; +} + +.identity-box-button:hover:active, +.identity-box-button[open=true], +#tracking-protection-icon-container:hover:active, +#tracking-protection-icon-container[open=true], +#notification-popup-box:hover:active, +#notification-popup-box[open=true], +.urlbar-page-action:hover:active, +.urlbar-page-action[open=true], +.urlbar-page-action:hover:active .urlbar-icon, +.urlbar-page-action[open=true] .urlbar-icon { + background: none !important; + fill-opacity: 1 !important; +} + +/* Entries fixes */ +#urlbar-container, #search-container { + padding: 0 !important; + margin: 0 3px !important; +} +#urlbar-input-container { + background: transparent !important; + border: 0 !important; +} +#urlbar, #searchbar { + margin: 0 3px !important; + padding: 0 3px !important; +} +.searchbar-textbox { + border: 0 !important; + padding: 0 !important; + margin: 0 !important; + min-height: auto !important; +} +#searchbar > .searchbar-textbox[focused] .searchbar-search-button:not(#hack) { + margin: 0 !important; +} +#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background { + outline: 0 !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/findbar.css b/src/other/firefox/chrome/Colloid/parts/findbar.css new file mode 100644 index 00000000..8f7f3181 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/findbar.css @@ -0,0 +1,43 @@ +/* Find bar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +findbar { + padding: 0 !important; + position: relative; +} + +findbar label, findbar description { + color: var(--gnome-toolbar-color) !important; +} + +.findbar-container { + align-items: center; + padding: 6px !important; + display: flex; + justify-content: flex-start; + position: relative; + flex-direction: row; + margin: 0 !important; + width: calc(100% - 42px); +} + +hbox[anonid="findbar-textbox-wrapper"] { + display: flex !important; +} + +.findbar-entire-word { + margin-right: auto !important; +} + +.findbar-find-status, .found-matches { + margin-right: 6px !important; +} + +.findbar-closebutton { + margin: 6px 6px 6px 0 !important; +} + +.findbar-container toolbarbutton .toolbarbutton-text { + display: none !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/headerbar-private-window.css b/src/other/firefox/chrome/Colloid/parts/headerbar-private-window.css new file mode 100644 index 00000000..5fdb3273 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/headerbar-private-window.css @@ -0,0 +1,37 @@ +/* Private window headerbar */ + +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +:root[privatebrowsingmode="temporary"] { + --gnome-accent: var(--gnome-private-accent) !important; + --gnome-accent-fg: var(--gnome-private-accent) !important; + /* Toolbars */ + --gnome-toolbar-background: var(--gnome-private-toolbar-background) !important; + --gnome-inactive-toolbar-background: var(--gnome-private-inactive-toolbar-background) !important; + /* Menus */ + --gnome-menu-background: var(--gnome-private-menu-background) !important; + /* Change headerbar colors */ + --gnome-headerbar-background: var(--gnome-private-headerbar-background) !important; + --gnome-inactive-headerbar-background: var(--gnome-private-inactive-headerbar-background) !important; +} + +/* Add private window headerbar indicator */ +:root[privatebrowsingmode="temporary"] #nav-bar toolbarspring:first-of-type:before { + background: url("../icons/eye-not-looking-symbolic.svg") no-repeat; + background-size: 64px 64px; + content: ""; + display: block; + position: absolute; + width: 64px; + height: 46px; + top: 0; + transform: translate(15px, 0); + fill: var(--gnome-toolbar-color) !important; + fill-opacity: 0.2 !important; + -moz-context-properties: fill, fill-opacity; +} + +/* Hide tabsbar default private browsing indicator */ +#TabsToolbar .private-browsing-indicator { + display: none !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/headerbar.css b/src/other/firefox/chrome/Colloid/parts/headerbar.css new file mode 100644 index 00000000..5ca81308 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/headerbar.css @@ -0,0 +1,20 @@ +/* Header bar */ +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Headerbar */ +#nav-bar { + padding: 6px 3px !important; +} + +/* Headerbar CSD colors */ +:root[tabsintitlebar] #nav-bar { + background: var(--gnome-headerbar-background) !important; + border: none !important; + border-bottom: 1px solid var(--gnome-headerbar-border-color) !important; + box-shadow: var(--gnome-headerbar-box-shadow) !important; +} +:root[tabsintitlebar] #nav-bar:-moz-window-inactive { + background: var(--gnome-inactive-headerbar-background) !important; + border-bottom-color: var(--gnome-inactive-headerbar-border-color) !important; + box-shadow: var(--gnome-inactive-headerbar-box-shadow) !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/icons.css b/src/other/firefox/chrome/Colloid/parts/icons.css new file mode 100644 index 00000000..82926e53 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/icons.css @@ -0,0 +1,769 @@ +/* Replace icons */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Icons color */ +.toolbarbutton-icon, +menuitem:not([class*='identity']) .menu-iconic-left .menu-iconic-icon, +.urlbar-page-action:not([readeractive]), +.button-icon:not(#hack), +.bookmark-item[container], +.notification-anchor-icon, +.protections-popup-category::after, +.protections-popup-footer-icon, +#identity-popup-mainView .subviewbutton-nav::after, +.widget-overflow-list .subviewbutton-nav::after, +.PanelUI-subView .subviewbutton-nav::after, +#identity-popup[connection^="secure"] .identity-popup-security-connection, +.panel-info-button > image, +.menu-right, +.expander-down > .button-box, +#sidebar-switcher-arrow, +#sidebar-icon, +#viewButton .button-menu-dropmarker, +.menulist-label-box:after, +.expander-up > .button-box, +#urlbar:not(.searchButton) > #urlbar-input-container > #identity-box[pageproxystate="invalid"] > #identity-icon, +.searchbar-search-icon, +.textbox-search-sign, +treechildren::-moz-tree-twisty, +treechildren::-moz-tree-image, +.item.client .item-twisty-container, +menuitem[type="checkbox"], +menuitem[type="checkbox"][checked="true"], +menuitem[type="radio"], +menuitem[type="radio"][checked="true"], +.tab-icon-overlay, +.tab-throbber::before, +.tab-icon-stack::before, +.tab-icon-image, +.close-icon:not(.tab-close-button), +button.close::before, +#urlbar-search-mode-indicator-close, +#tracking-protection-icon, +#identity-icon, +#permissions-granted-icon, +#downloads-indicator-icon, +.textbox-search-clear, +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close .toolbarbutton-icon, +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max .toolbarbutton-icon, +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-restore .toolbarbutton-icon, +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min .toolbarbutton-icon, +:root[tabsintitlebar][inFullscreen] #window-controls #restore-button .toolbarbutton-icon { + fill: var(--gnome-toolbar-icon-fill) !important; + -moz-context-properties: fill, fill-opacity; +} +.toolbarbutton-icon:-moz-window-inactive { + fill: var(--gnome-inactive-toolbar-icon-fill) !important; +} + +/* Menu checkbox */ +menuitem[type="checkbox"] { + list-style-image: none !important; +} +menuitem[type="checkbox"][checked="true"] { + list-style-image: url("../icons/select-symbolic.svg") !important; +} +menuitem[type="checkbox"][disabled="true"] .menu-iconic-icon { + opacity: 0.5; +} + +/* Menu radio */ +menuitem[type="radio"] { + list-style-image: none !important; +} +menuitem[type="radio"][checked="true"] { + list-style-image: url("../icons/bullet-symbolic.svg") !important; +} +menuitem[type="radio"] .menu-iconic-icon { + border-radius: 100%; + border: 1px solid var(--gnome-inactive-toolbar-icon-fill); +} +menuitem[type="radio"][disabled="true"] .menu-iconic-icon { + opacity: 0.5; +} + +/* Window buttons */ +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close .toolbarbutton-icon { + list-style-image: url("../icons/window-close-symbolic.svg") !important; +} +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max .toolbarbutton-icon { + list-style-image: url("../icons/window-maximize-symbolic.svg") !important; +} +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-restore .toolbarbutton-icon { + list-style-image: url("../icons/window-restore-symbolic.svg") !important; +} +:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min .toolbarbutton-icon { + list-style-image: url("../icons/window-minimize-symbolic.svg") !important; +} +:root[tabsintitlebar][inFullscreen] #window-controls #restore-button .toolbarbutton-icon { + list-style-image: url("../icons/view-restore-symbolic.svg") !important; +} + +/* Reload */ +#reload-button, +.downloadIconRetry > .button-box > .button-icon, +#context-reload { + list-style-image: url("../icons/view-refresh-symbolic.svg") !important; +} +/* Stop */ +#stop-button, +.downloadIconCancel > .button-box > .button-icon, +#context-stop { + list-style-image: url("../icons/process-stop-symbolic.svg") !important; +} + +/* Cursors autoscroller fix */ +.autoscroller { + --panel-background: transparent !important; + --panel-border-color: transparent !important; + background-image: url("chrome://global/skin/icons/autoscroll.svg") !important; +} + +/* Built-in firefox icons color */ +.toolbarbutton-icon, +.protections-popup-category-icon, +.protections-popup-footer-icon { + fill: var(--gnome-toolbar-color) !important; + fill-opacity: 1 !important; +} + +/* Tabs scroll icons */ +#TabsToolbar .scrollbutton-up { + list-style-image: url("../icons/pan-start-symbolic.svg") !important; +} +#TabsToolbar .scrollbutton-down { + list-style-image: url("../icons/pan-start-symbolic.svg") !important; +} + +/* Popovers subview menu arrow */ +#identity-popup-mainView .subviewbutton-nav::after, +.widget-overflow-list .subviewbutton-nav::after, +.PanelUI-subView .subviewbutton-nav::after { + content: "" !important; + background: url("../icons/pan-end-symbolic.svg"); + background-size: contain; + height: 16px; + width: 16px; + margin-top: -2px !important; +} +.protections-popup-category::after { + content: url("../icons/pan-start-symbolic.svg") !important; +} +.identity-popup-content-blocking-category::after { + content: url("../icons/pan-start-symbolic.svg") !important; +} +#identity-popup-security-expander .button-icon { + list-style-image: url("../icons/pan-start-symbolic.svg") !important; +} + +/* Popovers subview back button */ +.subviewbutton-back { + list-style-image: url("../icons/pan-start-symbolic.svg") !important; +} + +/* Scroll icons */ +#scrollbutton-up { + list-style-image: var(--scrollbutton-icon-name) !important; +} +#scrollbutton-down { + list-style-image: var(--scrollbutton-icon-name) !important; +} +arrowscrollbox { + --scrollbutton-icon-name: url("../icons/pan-down-symbolic.svg"); +} +arrowscrollbox[orient="horizontal"] { + --scrollbutton-icon-name: url("../icons/pan-start-symbolic.svg"); +} + +/* Sub menu arrow */ +.menu-right { + -moz-appearance: none !important; + list-style-image: url("../icons/pan-end-symbolic.svg") !important; + width: 16px !important; + height: 16px !important; +} + +menu[disabled] > .menu-right { + opacity: 0.3; +} + +/* Arrow down buttons */ +.expander-down > .button-box, +#sidebar-switcher-arrow, +#viewButton .button-menu-dropmarker, +.popup-notification-dropmarker .button-icon { + -moz-appearance: none !important; + list-style-image: url("../icons/pan-down-symbolic.svg") !important; + width: 16px !important; + height: 16px !important; +} +.menulist-label-box:after { + content: url("../icons/pan-down-symbolic.svg") !important; +} + +/* Arrow up buttons */ +.expander-up > .button-box { + -moz-appearance: none !important; + list-style-image: url("../icons/pan-up-symbolic.svg") !important; + width: 16px !important; + height: 16px !important; +} + +/* Search entries */ +#urlbar[pageproxystate="invalid"] > #identity-box > #identity-icon, +.searchbar-search-icon, +#search-box .textbox-search-sign { + list-style-image: url("../icons/edit-find-symbolic.svg") !important; + opacity: 0.7 !important; +} +#search-box .textbox-search-sign { + width: 16px !important; + margin: 2px 0; +} + +/* Tree views */ +treechildren::-moz-tree-twisty { + list-style-image: url("../icons/pan-down-symbolic.svg") !important; + width: 16px !important; + height: 16px !important; +} +treechildren::-moz-tree-twisty(open) { + list-style-image: url("../icons/pan-end-symbolic.svg") !important; +} +treechildren::-moz-tree-twisty(selected, focus) { + list-style-image: url("../icons/pan-down-symbolic-light.svg") !important; +} +treechildren::-moz-tree-twisty(selected, focus, open) { + list-style-image: url("../icons/pan-end-symbolic-light.svg") !important; +} + +.sidebar-panel[lwt-sidebar-brighttext] .sidebar-placesTreechildren::-moz-tree-twisty { + list-style-image: url("../icons/pan-down-symbolic-light.svg") !important; +} +.sidebar-panel[lwt-sidebar-brighttext] .sidebar-placesTreechildren::-moz-tree-twisty(open) { + list-style-image: url("../icons/pan-end-symbolic-light.svg") !important; +} +/* Sidebar: History: clock icon */ +#historyTree treechildren::-moz-tree-image { + list-style-image: url("../icons/preferences-system-time-symbolic.svg") !important; +} + +/* Close button */ +.close-icon:not(.tab-close-button), +.identity-popup-permission-remove-button .button-icon { + list-style-image: url("../icons/window-close-symbolic.svg") !important; +} + +/* Sound icons */ +.tab-icon-overlay[soundplaying] { + list-style-image: url("../icons/audio-playing-symbolic.svg") !important; +} +.tab-icon-overlay[muted] { + list-style-image: url("../icons/audio-muted-symbolic.svg") !important; +} + +/* Private browsing button */ +#privatebrowsing-button { + list-style-image: url("../icons/user-not-tracked.svg") !important; +} +/* Sidebar button */ +#sidebar-button:-moz-locale-dir(ltr):not([positionend]) .toolbarbutton-icon, #sidebar-button:-moz-locale-dir(rtl)[positionend] .toolbarbutton-icon { + list-style-image: url("../icons/toggle-sidebar-symbolic.svg") !important; +} +#sidebar-button .toolbarbutton-icon { + list-style-image: url("../icons/toggle-right-sidebar-symbolic.svg"); +} +/* Back button */ +#nav-bar #back-button .toolbarbutton-icon, +#context-back { + list-style-image: url("../icons/go-previous-symbolic.svg") !important; +} +/* Forward button */ +#nav-bar #forward-button, +#context-forward, +#urlbar-go-button, +.search-go-button { + list-style-image: url("../icons/go-next-symbolic.svg") !important; +} +/* Menu button */ +#PanelUI-menu-button { + list-style-image: url("../icons/open-menu-symbolic.svg") !important; +} +/* New tab button */ +#new-tab-button, +.tabs-newtab-button, +#tabs-newtab-button, +#TabsToolbar { + list-style-image: url("../icons/tab-new-symbolic.svg") !important; +} +/* Home button */ +#home-button { + list-style-image: url("../icons/user-home-symbolic.svg") !important; +} +/* Preferences button */ +#preferences-button, +.search-setting-button-compact > .button-box > .button-icon { + list-style-image: url("../icons/preferences-system-symbolic.svg") !important; +} +/* Fullscreen button */ +#fullscreen-button, +#appMenu-fullscreen-button { + list-style-image: url("../icons/view-fullscreen-symbolic.svg") !important; +} +/* Zoom out button */ +#zoom-out-button, +#appMenu-zoomReduce-button { + list-style-image: url("../icons/zoom-out-symbolic.svg") !important; +} +/* Zoom in button */ +#zoom-in-button, +#appMenu-zoomEnlarge-button { + list-style-image: url("../icons/zoom-in-symbolic.svg") !important; +} +/* Developer button */ +#developer-button { + list-style-image: url("../icons/applications-engineering-symbolic.svg") !important; +} +/* Email link button */ +#email-link-button { + list-style-image: url("../icons/mail-unread-symbolic.svg") !important; +} +/* Print button */ +#print-button { + list-style-image: url("../icons/printer-symbolic.svg") !important; +} +/* Addons button */ +#add-ons-button, +#addons-notification-icon, +.install-icon { + list-style-image: url("../icons/application-x-addon-symbolic.svg") !important; +} +/* Find button */ +#find-button { + list-style-image: url("../icons/edit-find-symbolic.svg") !important; +} +/* New window button */ +#new-window-button { + list-style-image: url("../icons/window-new-symbolic.svg") !important; +} +/* Bookmarks menu button */ +#bookmarks-menu-button { + list-style-image: url("../icons/bookmarks-symbolic.svg") !important; +} +/* History button */ +#history-panelmenu, +#sidebar-box[sidebarcommand="viewHistorySidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, +.urlbarView-row[source="history"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, +#urlbar-engine-one-off-item-history { + list-style-image: url("../icons/preferences-system-time-symbolic.svg") !important; +} +/* All tabs button */ +#alltabs-button { + list-style-image: url("../icons/pan-down-symbolic.svg") !important; +} +/* Cut button */ +#cut-button, +#appMenu-cut-button { + list-style-image: url("../icons/edit-cut-symbolic.svg") !important; +} +/* Copy button */ +#copy-button, +#appMenu-copy-button { + list-style-image: url("../icons/edit-copy-symbolic.svg") !important; +} +/* Paste button */ +#paste-button, +#appMenu-paste-button { + list-style-image: url("../icons/edit-paste-symbolic.svg") !important; +} +/* Overflow button */ +#nav-bar-overflow-button { + list-style-image: url("../icons/view-more-horizontal-symbolic.svg") !important; +} +#downloads-button .toolbarbutton-icon { /* Downloads button / Glitch - it swaps to the default one anyway */ + list-style-image: url("../icons/folder-download-symbolic.svg") !important; + animation: none !important; +} + +#identity-box[pageproxystate="valid"].verifiedDomain #identity-icon, +#identity-box[pageproxystate="valid"].mixedActiveBlocked #identity-icon { + list-style-image: url("../icons/folder-locked-symbolic.svg") !important; +} + +#identity-box[pageproxystate="valid"].weakCipher #identity-icon, +#identity-box[pageproxystate="valid"].mixedDisplayContent #identity-icon, +#identity-box[pageproxystate="valid"].mixedDisplayContentLoadedActiveBlocked #identity-icon, +#identity-box[pageproxystate="valid"].certUserOverridden #identity-icon, +#identity-box[pageproxystate="valid"].certErrorPage #identity-icon { + list-style-image: url("../icons/security-warning-symbolic.svg") !important; +} + +#identity-box[pageproxystate="valid"].notSecure #identity-icon, +#identity-box[pageproxystate="valid"].mixedActiveContent #identity-icon, +#identity-box[pageproxystate="valid"].httpsOnlyErrorPage #identity-icon { + list-style-image: url("../icons/security-broken-symbolic.svg") !important; +} + +#identity-box[pageproxystate="valid"].localResource #identity-icon { + list-style-image: url("../icons/page-symbolic.svg") !important; +} + +#pageActionButton, .share-more-button { + list-style-image: url("../icons/page-action.svg") !important; +} + +#pocket-button, #pageAction-panel-pocket { + list-style-image: url("../icons/save-to-pocket.svg") !important; +} + +/* Bookmarks menu button */ +#bookmarks-menu-button, +#sidebar-box[sidebarcommand="viewBookmarksSidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, +.urlbarView-row[source="bookmarks"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, +#urlbar-engine-one-off-item-bookmarks { + list-style-image: url("../icons/starred-symbolic.svg") !important; +} +#context-bookmarkpage[starred="true"], +#star-button[starred] { + list-style-image: url("../icons/starred-symbolic.svg") !important; +} +#context-bookmarkpage, +#star-button { + list-style-image: url("../icons/star-symbolic.svg") !important; +} +#star-button[starred] { + fill: var(--gnome-accent) !important; +} + +#plugins-notification-icon:not(.plugin-blocked)[extraAttr="inactive"] > .plugin-icon { + fill-opacity: 0.25; + list-style-image: url("../icons/application-x-addon-symbolic.svg") !important; +} + +#plugins-notification-icon:not(.plugin-blocked)[extraAttr="active"] > .plugin-icon { + fill-opacity: 1; + list-style-image: url("../icons/application-x-addon-symbolic.svg") !important; +} + +.plugin-icon { + list-style-image: url("../icons/application-x-addon-symbolic.svg") !important; +} + +.plugin-blocked > .plugin-icon { + list-style-image: url("../icons/application-x-addon-blocked-symbolic.svg") !important; +} + +.autoplay-media-icon { + list-style-image: url("../icons/autoplay-media-symbolic.svg") !important; +} + +.autoplay-media-icon.blocked-permission-icon { + list-style-image: url("../icons/autoplay-media-blocked-symbolic.svg") !important; +} + +.popup-notification-icon[popupid="drmContentPlaying"], .drm-icon { + list-style-image: url("../icons/drm-symbolic.svg") !important; +} + +#reader-mode-button > .urlbar-icon { + list-style-image: url("../icons/reader-mode.svg") !important; +} + +#permissions-granted-icon { + list-style-image: url("../icons/permissions-granted.svg") !important; +} + +#tracking-protection-icon { + list-style-image: url("../icons/tracking-protection.svg") !important; +} + +#tracking-protection-icon-animatable-image { + background-image: url("../icons/tracking-protection-animatable.svg") !important; +} + +#library-button { + list-style-image: url("../icons/library-symbolic.svg") !important; +} + +#import-button { + list-style-image: url("../icons/import-symbolic.svg") !important; +} + +#panic-button { + list-style-image: url("../icons/forget-history-symbolic.svg") !important; +} + +#sync-button, +#sidebar-box[sidebarcommand="viewTabsSidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, +.urlbarView-row[source="tabs"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, +#urlbar-engine-one-off-item-tabs { + list-style-image: url("../icons/tab-sync-symbolic.svg") !important; +} + +#open-file-button { + list-style-image: url("../icons/open-folder-symbolic.svg") !important; +} + +#save-page-button { + list-style-image: url("../icons/save-folder-symbolic.svg") !important; +} + +#characterencoding-button { + list-style-image: url("../icons/character-symbolic.svg") !important; +} + +#screenshot-button { + list-style-image: url("../icons/screenshot-symbolic.svg") !important; +} + +.popup-notification-icon[popupid="web-notifications"], .desktop-notification-icon { + list-style-image: url("../icons/notification-symbolic.svg") !important; +} + +#geo-sharing-icon[sharing], .geo-icon { + list-style-image: url("../icons/geo.svg") !important; +} + +.blocked-permission-icon.popup-icon { + list-style-image: url("../icons/blocked-permission-symbolic.svg") !important; +} + +#webrtc-sharing-icon[sharing="screen"], +.screen-icon { + list-style-image: url("../icons/screen-symbolic.svg") !important; +} + +.screen-icon.blocked-permission-icon { + list-style-image: url("../icons/screen-blocked-symbolic.svg") !important; +} + +#webrtc-sharing-icon[sharing="microphone"], +.microphone-icon { + list-style-image: url("../icons/microphone-symbolic.svg") !important; +} + +#webrtc-sharing-icon[sharing]:not([paused]) { + -moz-context-properties: fill !important; + fill: rgb(224, 41, 29) !important; +} + +/* Info */ +.panel-info-button > image { + list-style-image: url("../icons/info-symbolic.svg") !important; +} +.tabbrowser-tab[image="chrome://global/skin/icons/info.svg"]:not([busy]):not([progress]) .tab-icon-stack::before { + content: ""; + height: 16px; + width: 16px; + background-image: url("../icons/info-symbolic.svg") !important; +} + +/* Password */ +#password-notification-icon { + list-style-image: url("../icons/key-symbolic.svg") !important; +} + +.bookmark-item[container] { + list-style-image: url("../icons/folder-symbolic.svg") !important; +} + +.tab-icon-image:not([src]), .tab-icon-image:-moz-broken { + content: url("../icons/network-workgroup-symbolic.svg") !important; +} + +/* Fix flat buttons icons aproach */ +button.close::before { + content: ""; + display: block; + background-position: center center; + background-repeat: no-repeat; + height: 100%; + width: 100%; +} + +/* Fix icons sizes */ +.permission-popup-permission-remove-button > .button-box > .button-icon, +.menu-iconic-icon { + height: 16px !important; + width: 16px !important; +} +/* Fix icon color */ +#sidebar-icon { + opacity: 1 !important; +} +treechildren::-moz-tree-twisty, +treechildren::-moz-tree-image { + fill-opacity: 1 !important; +} + +/* Fix main menu zoom controls icons */ +#appMenu-zoom-controls2 .toolbarbutton-icon { + padding: 0 !important; + padding-block: 0 !important; + padding-inline: 0 !important; +} + +/* Invert icons color in dark variant */ +@media (prefers-color-scheme: dark) { + .PanelUI-subView .subviewbutton-nav::after, + .protections-popup-category::after, + .identity-popup-content-blocking-category::after, + #identity-popup-security-expander .button-icon, + .subviewbutton-back .toolbarbutton-icon, + + .menu-right, + + #urlbar[pageproxystate="invalid"] > #identity-box > #identity-icon, + .searchbar-search-icon, + #search-box .textbox-search-sign, + + .menulist-label-box:after, + .expander-down image, + .expander-up image, + #sidebar-switcher-arrow, + #viewButton .button-menu-dropmarker, + + menuitem[type="checkbox"] .menu-iconic-icon, + menuitem[type="radio"] .menu-iconic-icon, + + .close-icon:not(.tab-close-button) image, + .identity-popup-permission-remove-button .button-icon, + + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar #titlebar-close .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar #titlebar-max .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar #titlebar-min .toolbarbutton-icon, + :root[tabsintitlebar][inFullscreen] #window-controls #restore-button .toolbarbutton-icon, + + .popup-notification-icon[popupid="web-notifications"], .desktop-notification-icon, + + #import-button .toolbarbutton-icon, + #panic-button .toolbarbutton-icon, + #open-file-button .toolbarbutton-icon, + #save-page-button .toolbarbutton-icon, + #characterencoding-button .toolbarbutton-icon, + #library-button .toolbarbutton-icon, + #privatebrowsing-button .toolbarbutton-icon, + #sidebar-button:-moz-locale-dir(ltr):not([positionend]) .toolbarbutton-icon, + #sidebar-button:-moz-locale-dir(rtl)[positionend] .toolbarbutton-icon, + #sidebar-button .toolbarbutton-icon, + #nav-bar #back-button .toolbarbutton-icon, + #context-back .menu-iconic-icon, + #nav-bar #forward-button .toolbarbutton-icon, + #context-forward .menu-iconic-icon, + #PanelUI-menu-button .toolbarbutton-icon, + #new-tab-button .toolbarbutton-icon, + .tabs-newtab-button .toolbarbutton-icon, + #tabs-newtab-button .toolbarbutton-icon, + #TabsToolbar .toolbarbutton-icon, + #home-button .toolbarbutton-icon, + #preferences-button .toolbarbutton-icon, + #fullscreen-button .toolbarbutton-icon, + #appMenu-fullscreen-button .toolbarbutton-icon, + #zoom-out-button .toolbarbutton-icon, + #appMenu-zoomReduce-button .toolbarbutton-icon, + #zoom-in-button .toolbarbutton-icon, + #appMenu-zoomEnlarge-button .toolbarbutton-icon, + #developer-button .toolbarbutton-icon, + #email-link-button .toolbarbutton-icon, + #print-button .toolbarbutton-icon, + #add-ons-button .toolbarbutton-icon, + #find-button .toolbarbutton-icon, + #bookmarks-menu-button .toolbarbutton-icon, + #history-panelmenu .toolbarbutton-icon, + #alltabs-button .toolbarbutton-icon, + #cut-button .toolbarbutton-icon, + #appMenu-cut-button .toolbarbutton-icon, + #copy-button .toolbarbutton-icon, + #appMenu-copy-button .toolbarbutton-icon, + #paste-button .toolbarbutton-icon, + #appMenu-paste-button .toolbarbutton-icon, + #nav-bar-overflow-button .toolbarbutton-icon, + #reload-button .toolbarbutton-icon, + .downloadIconRetry > .button-box > .button-icon, + #context-reload, + #stop-button .toolbarbutton-icon, + .downloadIconCancel > .button-box > .button-icon, + #context-stop, + #downloads-button .toolbarbutton-icon, + #sync-button .toolbarbutton-icon, + #new-window-button .toolbarbutton-icon, + #screenshot-button .toolbarbutton-icon, + #tracking-protection-icon, + #pageActionButton, + #permissions-granted-icon, + #tracking-protection-icon-animatable-image, + #reader-mode-button > .urlbar-icon, + #star-button:not([starred]), + #context-bookmarkpage:not([starred]), + #geo-sharing-icon[sharing], .geo-icon, + .blocked-permission-icon.popup-icon, + #webrtc-sharing-icon[sharing="screen"], + .screen-icon, + .screen-icon.blocked-permission-icon, + #webrtc-sharing-icon[sharing="microphone"], + .microphone-icon, + .plugin-icon, .autoplay-media-icon, + .popup-notification-icon[popupid="drmContentPlaying"], .drm-icon, + #identity-box[pageproxystate="valid"].verifiedDomain #identity-icon, + #identity-box[pageproxystate="valid"].mixedActiveBlocked #identity-icon, + #identity-box[pageproxystate="valid"].weakCipher #identity-icon, + #identity-box[pageproxystate="valid"].mixedDisplayContent #identity-icon, + #identity-box[pageproxystate="valid"].mixedDisplayContentLoadedActiveBlocked #identity-icon, + #identity-box[pageproxystate="valid"].certUserOverridden #identity-icon, + #identity-box[pageproxystate="valid"].certErrorPage #identity-icon, + #identity-box[pageproxystate="valid"].notSecure #identity-icon, + #identity-box[pageproxystate="valid"].mixedActiveContent #identity-icon, + #identity-box[pageproxystate="valid"].httpsOnlyErrorPage #identity-icon, + #identity-box[pageproxystate="valid"].localResource #identity-icon, + .bookmark-item[container] .toolbarbutton-icon, + .menu-iconic.bookmark-item[container] .menu-iconic-icon, + .panel-info-button > image { + filter: invert(60%) brightness(150%); + } + + #pocket-button, + #pageAction-panel-pocket { + list-style-image: url("../icons/save-to-pocket-light.svg") !important; + } + + /* Tree views */ + treechildren::-moz-tree-twisty { + list-style-image: url("../icons/pan-down-symbolic-light.svg") !important; + } + treechildren::-moz-tree-twisty(open) { + list-style-image: url("../icons/pan-end-symbolic-light.svg") !important; + } + #historyTree treechildren::-moz-tree-image { + list-style-image: url("../icons/preferences-system-time-symbolic-light.svg") !important; + } + + .tabbrowser-tab[image="chrome://global/skin/icons/info.svg"]:not([busy]):not([progress]) .tab-icon-stack::before { + background-image: url("../icons/info-symbolic-light.svg") !important; + } + + .tab-icon-image:not([src]), .tab-icon-image:-moz-broken { + content: url("../icons/network-workgroup-symbolic-light.svg") !important; + } + + #sidebar-box[sidebarcommand="viewTabsSidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, + .urlbarView-row[source="tabs"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, + #urlbar-engine-one-off-item-tabs { + list-style-image: url("../icons/tab-sync-symbolic-light.svg") !important; + } + + #sidebar-box[sidebarcommand="viewHistorySidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, + .urlbarView-row[source="history"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, + #urlbar-engine-one-off-item-history { + list-style-image: url("../icons/preferences-system-time-symbolic-light.svg") !important; + } + + /* Fix for extensions icons */ + .webextension-browser-action { + list-style-image: var(--webextension-menupanel-image-light, inherit) !important; + } +} + diff --git a/src/other/firefox/chrome/Colloid/parts/lists.css b/src/other/firefox/chrome/Colloid/parts/lists.css new file mode 100644 index 00000000..584f9302 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/lists.css @@ -0,0 +1,40 @@ +/* Lists */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* TODO: create list color vars */ +/* List container */ +#permission-popup-permission-list, +richlistbox#items { + --in-content-item-selected: var(--gnome-accent-bg) !important; + --in-content-item-selected-text: #fff !important; + background: var(--gnome-menu-background) !important; + border: 1px solid var(--gnome-button-border-color) !important; + border-radius: 12px !important; + padding: 0 !important; + overflow: hidden; +} + +richlistbox#items { + box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), + 0 1px 3px 1px rgba(0, 0, 0, .07), + 0 2px 6px 2px rgba(0, 0, 0, .03); +} + +/* List item */ +.permission-popup-permission-list-anchor, +richlistbox#items richlistitem { + padding: 6px 6px 1px !important; + margin: 0 !important; +} +.permission-popup-permission-list-anchor:not(:last-child), +richlistbox#items richlistitem:not(:last-child) { + border-bottom: 1px solid var(--gnome-menu-separator-color); +} + +/* Fix list buttons on selected state */ +@media (prefers-color-scheme: light) { + richlistbox#items richlistitem[selected=true] button:not(:hover) { + filter: invert() brightness(200%) !important; + } +} diff --git a/src/other/firefox/chrome/Colloid/parts/popups-contents.css b/src/other/firefox/chrome/Colloid/parts/popups-contents.css new file mode 100644 index 00000000..07d335d8 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/popups-contents.css @@ -0,0 +1,349 @@ +/* Popups contents syles */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Main menu fxa */ +#appMenu-fxa-status[fxastatus="signedin"] > #appMenu-fxa-label { + padding-left: 22px !important; + margin-inline-start: -22px !important; +} +#appMenu-fxa-status[fxastatus="signedin"] > #appMenu-fxa-avatar { + margin-inline-start: 5px !important; +} +#appMenu-fxa-status2[fxastatus] > #appMenu-fxa-label2 > vbox > #appMenu-header-description, #appMenu-fxa-text { + font-weight: 400 !important; +} + +/* Style main context menu & buttons */ +#context-navigation { + padding: 0; +} +#context-navigation > menuitem > .menu-iconic-left { + margin: auto !important; +} +#context-navigation menuitem { + --toolbarbutton-active-background: transparent !important; + --toolbarbutton-hover-background: transparent !important; +} + +/* Main menu */ +#appMenu-popup .panel-banner-item:after { + -moz-box-ordinal-group: 0; + margin: 0 8px 0 0 !important; +} +#appMenu-popup .toolbaritem-combined-buttons { + margin-inline-end: 0 !important; +} +#appMenu-popup .toolbaritem-combined-buttons .before-label { + width: 32px !important; +} +.subviewbutton#appMenu-zoom-controls2 { + padding-right: 0 !important; + padding-top: 6px !important; +} + +/* User sync account remove avatar */ +#fxa-menu-avatar { + display: none; +} + +/* Add search engine button remove icon */ +#pageAction-panel-addSearchEngine .toolbarbutton-badge-stack { + display: none !important; +} + +/* All tabs popover */ +.all-tabs-item[selected] { + border-left: 3px solid var(--gnome-tabbar-tab-active-border-bottom-color); + box-shadow: none !important; +} + +.all-tabs-item > .all-tabs-secondary-button label { + margin: 0 !important; +} + +/* Add bookmark */ +#editBookmarkPanelInfoArea { + padding: 0 !important; +} +#editBookmarkPanelRows, +#editBookmarkPanelBottomContent { + padding: 0 !important; +} +#editBookmarkPanelBottomButtons { + margin: 0 !important; +} +#editBookmarkPanelBottomContent { + margin-bottom: 12px !important; +} +#editBookmarkPanelBottomContent, +#editBookmarkPanelRows vbox { + margin: 6px 0; + +} + +/* Downloads popover */ +#downloadsPanel-mainView .download-state { + padding: 12px !important; + border: 0 !important; + display: flex; + align-items: center; + height: 64px !important; + margin: 0 !important; +} + +#downloadsPanel-mainView .downloadMainArea { + flex: 1; + display: flex; +} +#downloadsPanel-mainView .downloadMainArea:hover { + background: transparent !important; +} + +#downloadsPanel-mainView .downloadTypeIcon { + margin: 0 !important; + margin-right: 6px !important; +} + +#downloadsPanel-mainView .downloadContainer { + margin-inline-end: 0 !important; + flex: 1; + display: flex; + flex-direction: column; +} + +#downloadsPanel-mainView .download-state .downloadButton .button-box { + padding: 0 !important; + margin: 0 !important; +} +#downloadsPanel-mainView .download-state toolbarseparator { + display: none; +} + +/* Customization overflow menu position */ +#customization-panel-container { + margin-top: 10px; + z-index: 10; +} + +/* Confirmation Hint */ +#confirmation-hint .panel-arrowcontent { + background: var(--gnome-button-suggested-action-background) !important; + border-color: var(--gnome-button-suggested-action-border-color) !important; +} +#confirmation-hint .panel-arrow { + fill: var(--gnome-button-suggested-action-border-color) !important; + stroke: var(--gnome-button-suggested-action-border-color) !important; +} +#confirmation-hint-message { + color: white !important; +} + +/* URLbar popups */ +#identity-popup-mainView, +#permission-popup-mainView, +#protections-popup-mainView, +#identity-popup-mainView-panel-header { + max-width: calc(var(--popup-width) + (var(--gnome-menu-padding) * 2)) !important; + min-width: calc(var(--popup-width) + (var(--gnome-menu-padding) * 2)) !important; +} + +/* Identity popup */ +#identity-popup-security, +.identity-popup-section, +#identity-popup-security-expander .button-box, +.identity-popup-security-content { + border: 0 !important; +} + +.identity-popup-security-content { + padding-inline-end: 0 !important; + padding-inline-start: 0 !important; +} +.identity-popup-security-content { + background-position: 0em 0.8em !important; + background-size: 24px auto; +} +.identity-popup-security-content .identity-popup-headline { + margin-left: 1.4em !important; +} +#identity-popup-security-button { + padding: 3px 0 !important; +} +.identity-popup-security-connection.identity-button:not(#hack) { + width: calc(var(--popup-width) - 30px) !important; +} + +/* Permission popup */ +#permission-popup-permissions-content { + padding: 0 !important; +} +#permission-popup-mainView { + min-width: unset !important; + max-width: unset !important; +} + +.permission-popup-permission-item:first-child, #permission-popup-storage-access-permission-list-header { + margin-top: 0 !important; +} +.permission-popup-permission-remove-button { + opacity: 1 !important; +} +.permission-popup-permission-state-label { + display: none !important; +} + +#permission-popup-permission-list-default-anchor:empty { + padding: 0 !important; + border: 0 !important; +} +.permission-popup-permission-list-anchor[anchorfor="3rdPartyStorage"] { + padding: 0 !important; +} +.permission-popup-permission-list-anchor[anchorfor="3rdPartyStorage"] > vbox:only-child { + display: block !important; + height: 0 !important; + overflow: hidden; + visibility: hidden; + margin: 0 !important; + margin-bottom: -1px !important; +} +.permission-popup-permission-item-3rdPartyStorage { + margin-right: 6px; + margin-bottom: 6px !important; +} +#permission-popup-storage-access-permission-list-header { + padding: 6px !important; +} + +/* Protections popup */ +.protections-popup-section, +#protections-popup-not-blocking-section-header { + border: 0 !important; +} +#protections-popup-mainView-panel-header-section { + background: transparent !important; +} +#protections-popup-mainView toolbarseparator { + display: none !important; +} + +#protections-popup-mainView-panel-header { + color: var(--gnome-toolbar-color) !important; + padding: 0 !important; +} +#protections-popup[hasException] #protections-popup-mainView-panel-header { + background: none !important; +} +#protections-popup-main-header-label { + height: auto !important; + margin-inline-start: 6px !important; + text-align: left !important; +} +#protections-popup-mainView-panel-header-span { + margin: 0 !important; + margin-inline-start: 0 !important +} +#protections-popup[toast] #protections-popup-mainView-panel-header { + border-bottom-width: 1px !important; + border-radius: 5px !important; + padding: 0px !important; +} +#protections-popup-info-button { + margin: 0 !important; +} + +#messaging-system-message-container { + height: 120px !important; + border: 0 !important; +} +#protections-popup #messaging-system-message-container[disabled] { + margin-bottom: -120px !important; +} +#protections-popup-message { + background: none !important; + border: 0 !important; + color: var(--gnome-toolbar-color) !important; + height: 100% !important; + margin: 0 !important; +} +#protections-popup-message .text-link { + color: var(--gnome-toolbar-color) !important; +} + +#protections-popup-tp-switch-section { + background: var(--gnome-menu-background); + border: 1px solid var(--gnome-button-border-color) !important; + border-radius: 9px; + padding: 12px 16px !important; + margin: 0 !important; +} + +#protections-popup[hasException] #protections-popup-tp-switch-section { + background: var(--gnome-menu-background) !important; +} +.protections-popup-tp-switch-label-box label { + margin-right: 12px !important; + font-weight: normal !important; +} + +#protections-popup-no-trackers-found-description { + margin: 12px 12px 0 !important; + text-align: left !important; +} + +#protections-popup-blocking-section-header, +#protections-popup-not-found-section-header, +#protections-popup-not-blocking-section-header{ + padding: 0px 5px !important; + margin-top: 20px !important; + height: auto !important; +} + +#protections-popup-category-list { + margin: 0 !important; +} +.protections-popup-category.notFound .protections-popup-category-label { + width: calc(var(--popup-width) - 70px) !important; +} +.protections-popup-category-label { + margin-inline-start: 6px !important; +} +.protections-popup-category-state-label { + opacity: 0.7; +} + +#protections-popup-footer { + display: flex; + justify-content: flex-start; + flex-wrap: wrap; + margin-top: 12px; +} +#protections-popup-show-report-stack { + width: 100% !important; +} +#protections-popup-show-report-button { + height: 32px !important; +} +#protections-popup-trackers-blocked-counter-box, +#protections-popup-footer-protection-type-label { + margin: 0 !important; + margin-inline: 0 !important; +} +.protections-popup-description { + border-bottom: 0 !important; +} +.protections-popup-description > description { + margin: 8px !important; +} + +/* Feature recommendation notification, fix width */ +#contextual-feature-recommendation-notification { + width: auto !important; +} + +/* Extensions sometimes assume a white background */ +.webextension-popup-browser { + background-color: #fff !important; +} + diff --git a/src/other/firefox/chrome/Colloid/parts/popups.css b/src/other/firefox/chrome/Colloid/parts/popups.css new file mode 100644 index 00000000..86d6f18c --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/popups.css @@ -0,0 +1,286 @@ +/* Popup menus and context menus */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Style menus */ +menupopup { + -moz-appearance: none !important; + color: var(--gnome-toolbar-color) !important; + padding: 8px !important; + margin: -8px !important; +} +menu menupopup { + margin-top: -6px !important; +} +.menupopup-arrowscrollbox { + -moz-appearance: none !important; + background: var(--gnome-menu-background) !important; + border: 1px solid var(--gnome-menu-border-color) !important; + border-radius: 12px !important; + box-shadow: var(--gnome-menu-shadow) !important; + padding: 6px !important; + margin: 0 !important; +} + +menuitem[type="checkbox"] image, menuitem[type="radio"] image { + visibility: visible !important; +} +menuitem[disabled="true"]:hover, menupopup menu[disabled="true"]:hover { + background: transparent !important; +} + +/* Adjust popovers position */ +panel[type=arrow] { + margin-top: 3px !important; +} + +/* Style popovers */ +panel:not([remote]) { + --arrowpanel-background: var(--gnome-menu-background) !important; + --panel-item-hover-bgcolor: var(--gnome-menu-button-hover-background) !important; +} +panel { + --arrowpanel-padding: 0 !important; + --arrowpanel-border-color: var(--gnome-menu-border-color) !important; + --arrowpanel-border-radius: 12px !important; + --gnome-menu-padding: 6px; +} + +/* Padding rules */ +#sidebarMenu-popup { + --arrowpanel-padding: var(--gnome-menu-padding) !important; +} +#downloadsPanel-blockedSubview, +#downloadsPanel-mainView { + padding: var(--gnome-menu-padding) !important; +} +.panel-header, .panel-footer, +.panel-subview-body, +.protections-popup-section, +#protections-popup-mainView-panel-header-section, +.permission-popup-section, +.identity-popup-section, +.popup-notification-header-container, +.popup-notification-body-container, +.popup-notification-footer-container { + padding: 0 var(--gnome-menu-padding) var(--gnome-menu-padding) !important; +} +:is( + .panel-header, .panel-footer, + .panel-subview-body, + .protections-popup-section, + #protections-popup-mainView-panel-header-section, + .permission-popup-section, + .identity-popup-section, + .popup-notification-header-container, + .popup-notification-body-container, + .popup-notification-footer-container +):first-child:not(:empty) { + padding-top: var(--gnome-menu-padding) !important; +} +.panel-subview-body > .panel-subview-body { + padding: 0 !important; +} +/* Padding with margign */ +.subviewbutton.panel-subview-footer-button:not(#downloadsHistory) { + margin: var(--gnome-menu-padding) !important; +} +.subviewbutton.panel-subview-footer-button:not(:only-child, #downloadsHistory) { + margin: 0 var(--gnome-menu-padding) !important; +} +.subviewbutton.panel-subview-footer-button:not(:only-child, #downloadsHistory):last-child { + margin-bottom: var(--gnome-menu-padding) !important; +} +#identity-popup-security-button { + margin: 0 var(--gnome-menu-padding) !important; +} + +/* No menu */ +#notification-popup, +#permission-popup, +#editBookmarkPanel, +#downloadsPanel { + --gnome-menu-padding: 12px !important; +} + +/* Panel arrow */ +.panel-arrowcontent { + background: var(--arrowpanel-background) !important; + border: 1px solid var(--gnome-menu-border-color) !important; + border-radius: 12px !important; + color: var(--gnome-toolbar-color) !important; +} +.panel-arrow { + fill: var(--arrowpanel-background) !important; + stroke: var(--gnome-menu-border-color) !important; + display: -moz-inline-box !important; +} + +/* Panel header */ +.panel-header { + position: relative !important; +} + +/* Panel footer */ +.panel-footer { + background-color: transparent !important; + margin: 0 !important; +} +.panel-subview-body .panel-footer { + padding: 0 !important; +} +.panel-footer.panel-footer-menulike { + border-top: 0 !important; + margin-top: 8px !important; +} +.panel-footer toolbarseparator { + display: none !important; +} +.proton-zap { + border-image: unset !important; +} +.panel-subview-footer { + margin-top: 10px !important; +} + +/* Remove unwanted separators */ +.panel-header + toolbarseparator, +#identity-popup-mainView-panel-header + toolbarseparator, +#permission-popup-mainView-panel-header + toolbarseparator, +#protections-popup-mainView-panel-header-section + toolbarseparator { + display: none !important; +} + +/* Menu buttons */ +menuitem, menupopup menu, +.subviewbutton:not(#appMenu-fxa-label2), +.toolbarbutton-1, +.protections-popup-footer-button, +.protections-popup-category, +.identity-popup-content-blocking-category, +#downloadsPanel-mainView .download-state { + -moz-appearance: none !important; + border-radius: 6px !important; + color: var(--gnome-toolbar-color) !important; + font: menu !important; + width: 100%; + padding: 4px 12px !important; + min-height: 32px !important; +} + +#PlacesToolbar .bookmark-item { + -moz-appearance: none !important; + border-radius: 6px !important; + color: var(--gnome-toolbar-color) !important; + padding: 2px 8px !important; + min-height: 28px !important; +} + +.subviewbutton, +.protections-popup-footer-button, +.protections-popup-category, +.identity-popup-content-blocking-category, +#PlacesToolbar menupopup[placespopup="true"] .bookmark-item, +.openintabs-menuitem, +.widget-overflow-list .toolbarbutton-1 { + margin: 0 !important; +} + +.subviewbutton[shortcut]:after { + opacity: 0.5 !important; +} + +.bookmark-item .menu-right { + fill-opacity: 1 !important; +} + +/* Menu buttons disabled */ +menuitem[disabled="true"], menupopup menu[disabled="true"], +.subviewbutton[disabled="true"], .toolbarbutton-1[disabled="true"], +.protections-popup-category[disabled="true"], +.identity-popup-content-blocking-category[disabled="true"] { + opacity: .5 !important; +} +menuitem[disabled="true"][_moz-menuactive], menupopup menu[disabled="true"][_moz-menuactive] { + background: transparent !important; +} + +/* Menu buttons hover */ +menuitem:not([disabled="true"]):is(:hover, [_moz-menuactive]), +menupopup menu:not([disabled="true"]):is(:hover, [_moz-menuactive]), +.subviewbutton:not([disabled="true"], #appMenu-zoom-controls2, #appMenu-fxa-label2):hover, +.protections-popup-footer-button:not([disabled="true"]):hover, +#protections-popup-show-report-stack:hover .protections-popup-footer-button, +.protections-popup-category:not([disabled="true"]):hover, +.identity-popup-content-blocking-category:not([disabled="true"]):hover, +#PlacesToolbar .bookmark-item:is(:hover, [open], [_moz-menuactive]), +#downloadsPanel-mainView .download-state:hover { + background: var(--gnome-menu-button-hover-background) !important; +} + +/* Menu buttons fix */ +#appMenu-fxa-label2 { + padding: 0 !important; +} +#appMenu-fxa-label2:hover { + background: transparent !important; +} + +/* Menu buttons back */ +.subviewbutton-back { + opacity: 1 !important; + width: 100%; + -moz-box-align: center !important; + -moz-box-pack: start !important; +} +.subviewbutton-back + h1 { + font-weight: bold !important; + left: 0 !important; + padding: 0 !important; + pointer-events: none; + position: absolute !important; + top: 8px !important; + width: 100%; +} + +/* Menu headers */ +.subview-subheader { + font: menu !important; + font-weight: bold !important; + padding-block: 0 !important; + margin: 0 4px !important; +} + +/* Style popover separators */ +toolbarseparator, menuseparator { + appearance: none !important; +} + +#PlacesToolbar menupopup[placespopup="true"] menuseparator { + border-top: 1px solid var(--gnome-menu-separator-color) !important; + padding: 0 !important; + margin: 6px 0 !important; +} +#PlacesToolbar menupopup[placespopup="true"] menuseparator::before { + border: 0 !important; +} + +toolbarseparator:not([orient="vertical"]), menupopup menuseparator { + border-top: 1px solid var(--gnome-menu-separator-color) !important; + margin: 6px 0 !important; +} +toolbarseparator[orient="vertical"] { + margin: 0 6px !important; +} + +.panel-subview-body + toolbarseparator:not([orient="vertical"]) { + margin: 0 0 6px !important; +} +panelview > toolbarseparator:not([orient="vertical"]), +#identity-popup-clear-sitedata-footer toolbarseparator:not([orient="vertical"]), +#identity-popup-more-info-footer toolbarseparator:not([orient="vertical"]){ + margin: 6px !important; +} +#identity-popup-clear-sitedata-footer toolbarseparator:not([orient="vertical"]) { + margin-top: 0 !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/remove-white-flash.css b/src/other/firefox/chrome/Colloid/parts/remove-white-flash.css new file mode 100644 index 00000000..7d46d806 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/remove-white-flash.css @@ -0,0 +1,11 @@ +/* Removes a white flash after you open or close a tab. Affects all variants, + * but it's more visible on dark variants. */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Overrides: Change the flash color */ +#tabbrowser-tabpanels, +#tabbrowser-tabpanels[pendingpaint], +browser { + background-color: var(--gnome-browser-before-load-background) !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/sidebar.css b/src/other/firefox/chrome/Colloid/parts/sidebar.css new file mode 100644 index 00000000..7b462ab3 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/sidebar.css @@ -0,0 +1,34 @@ +/* Sidebar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +#sidebar-box, .sidebar-panel { + background: var(--gnome-sidebar-background) !important; +} +#sidebar-box:-moz-window-inactive, .sidebar-panel:-moz-window-inactive { + background: var(--gnome-inactive-sidebar-background) !important; +} +#sidebar-box:-moz-window-inactive label, #sidebar-box:-moz-window-inactive image, +.sidebar-panel:-moz-window-inactive label, .sidebar-panel:-moz-window-inactive image, +.sidebar-placesTreechildren:-moz-window-inactive { + opacity: 0.7 !important; +} +#sidebar-splitter { + background: var(--gnome-toolbar-background) !important; + border: 0 !important; + border-right: 1px solid var(--gnome-toolbar-border-color) !important; + width: 0 !important; +} +#sidebar-splitter:-moz-window-inactive { + background: var(--gnome-inactive-toolbar-background) !important; + border-color: var(--gnome-inactive-toolbar-border-color) !important; +} + +#sidebar-header { + padding: 6px !important; + border-bottom: 1px solid var(--gnome-toolbar-border-color) !important; +} +#sidebar-search-container { + padding: 6px !important; +} + diff --git a/src/other/firefox/chrome/Colloid/parts/tabsbar.css b/src/other/firefox/chrome/Colloid/parts/tabsbar.css new file mode 100644 index 00000000..5ec8ec63 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/tabsbar.css @@ -0,0 +1,462 @@ +/* Tabs bar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +:root { + --space-above-tabbar: 0 !important; +} + +/* Fix tabs bar icon sizes */ +#TabsToolbar { + --toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding) !important; + border-bottom: 0 !important; +} + +/* Tabs bar height */ +#tabbrowser-tabs, +#tabbrowser-tabs arrowscrollbox { + height: auto !important; + min-height: auto !important; +} + +#TabsToolbar { + background-color: var(--gnome-tabbar-tab-background) !important; +} + +#TabsToolbar:-moz-window-inactive { + background-color: var(--gnome-inactive-tabbar-tab-background) !important; +} + +tab > stack { + height: 24px !important; + min-height: 24px !important; + padding: 0 !important; +} + +/* Remove hover effects on tab bar buttons */ +#TabsToolbar { + --toolbarbutton-active-background: transparent !important; + --toolbarbutton-hover-background: transparent !important; + padding: 0 3px !important; +} + +/* Tabsbar buttons */ +#TabsToolbar .toolbarbutton-1:not(#hack) { + border: none !important; + border-radius: 6px !important; + margin: 3px 4px 4px 2px !important; + padding: 0 10px !important; +} + +#TabsToolbar .toolbarbutton-1:not([disabled]):not(:active):not([open]):hover { + background-color: var(--gnome-tabbar-tab-hover-background) !important; +} +#TabsToolbar .toolbarbutton-1:active, #TabsToolbar .toolbarbutton-1[open] { + background-color: var(--gnome-tabbar-tab-border-color) !important; +} + +/* Remove shadow next to tab scroll buttons */ +.arrowscrollbox-overflow-start-indicator, +.arrowscrollbox-overflow-end-indicator { + display: none; +} + +/* Fake tabsbar border */ +#tabbrowser-arrowscrollbox::after { + content: ""; + display: block; + width: 100%; + background: var(--gnome-toolbar-background); + border-bottom: 1px solid var(--gnome-tabbar-tab-border-color); + height: 0; + min-height: 0; + position: absolute; + bottom: 0; + left: 0; + z-index: 2; +} + +#tabbrowser-tabs[movingtab=true] #tabbrowser-arrowscrollbox::after { + bottom: unset; + top: 24px; +} + +/* Remove tab separators */ +.tabbrowser-tab::after, +.tabbrowser-tab::before { + border-color: transparent !important; + border-image: none !important; + border-width: 0 !important; +} + +/* Space between tabs */ +.tabbrowser-tab { + border: none !important; + padding-inline: 0 !important; + margin: 0 !important; + border-radius: 0 !important; + padding: 3px 2px 4px !important; +} +#TabsToolbar { + padding: 0 !important; +} + +#TabsToolbar { + margin-right: -1px !important; +} + +/* Tab labels */ +tab { + color: var(--gnome-toolbar-color) !important; + font-family: Cantarell, inherit; + font-weight: normal; + font-size: 1em; +} + +/* Reset tab background */ +.tab-background { + border-radius: 6px !important; + box-shadow: none !important; + margin-block: 0 !important; + border: 0 !important; + padding: 0 !important; +} + +/* Center all inside tab */ +.tab-content { + display: flex; + justify-content: center; + align-items: center; + min-width: 100% !important; + padding: 0 10px !important; +} + +/* Fix custom info tab icon */ +.tabbrowser-tab[image="chrome://global/skin/icons/info.svg"]:not([pinned]):not([busy]):not([progress]) .tab-icon-stack::before { + margin-inline-end: 5.5px; +} +.tabbrowser-tab[image="chrome://global/skin/icons/info.svg"] .tab-icon-image { + display: none !important; +} + +/* Prevent tab icons size breaking */ +.tab-icon-image, .tab-icon-sound, .tab-throbber, .tab-throbber-fallback, .tab-close-button { + min-width: 16px; +} + +/* Center tab icon contents */ +.tabbrowser-tab .tab-icon-stack { + align-items: center; + justify-items: center; +} + +/* Adjust tab label width */ +.tab-label-container { + min-width: 0 !important; +} + +/* Put tab close button to the right */ +.tabbrowser-tab .tab-close-button { + margin-left: auto !important; +} + +/* Force tab favicon to the center */ +.tabbrowser-tab .tab-icon-stack { + margin-left: auto !important; +} + +/* Tab icon margin */ +.tabbrowser-tab:not([pinned]) .tab-icon-stack { + margin-right: 2px; +} +.tab-throbber:not([pinned]), .tab-icon-pending:not([pinned]), .tab-icon-image:not([pinned]), .tab-sharing-icon-overlay:not([pinned]), .tab-icon-overlay:not([pinned]) { + margin-inline-end: 0 !important; +} +.tabbrowser-tab:not([soundplaying], [muted], [activemedia-blocked], [crashed]) .tab-icon-stack { + padding: 4px; +} + +/* Hide favicon when mute icon is present */ +.tabbrowser-tab:not([pinned]):is([soundplaying], [muted], [activemedia-blocked], [crashed]) .tab-icon-image:not([sharing]), +.tabbrowser-tab:not([pinned]):is([soundplaying], [muted], [activemedia-blocked], [crashed])[selected] .tab-icon-image { + display: none; +} + +/* Hide secondary label about muting */ +.tabbrowser-tab:is([soundplaying], [muted], [activemedia-blocked], [crashed]) .tab-secondary-label { + display: none; +} + +/* Tab buttons */ +.tab-icon-overlay, +.tab-close-button { + border: 0px solid transparent; + box-sizing: content-box; /* Avoid deformation on flexbox */ + border-radius: 99px !important; + padding: 4px !important; + background-size: 24px; + transition: all 0.2s ease-out !important; +} +:root:not(:-moz-window-inactive) .tab-icon-overlay:hover, +:root:not(:-moz-window-inactive) .tab-close-button:hover { + background: var(--gnome-button-flat-hover-background) !important; +} + +.tab-icon-stack:is([soundplaying], [muted], [activemedia-blocked]) image { + margin: auto !important; +} + +/* Always show the muted icon when poresent */ +#tabbrowser-tabs:not([secondarytext-unsupported]) .tabbrowser-tab:not(:hover) .tab-icon-overlay[indicator-replaces-favicon] { + opacity: 1 !important; +} + +/* Icon overlay smaller */ +.tab-icon-overlay[pinned], .tab-icon-overlay:not([indicator-replaces-favicon="true"], [selected]) { + width: 12px !important; + height: 12px !important; + padding: 2px !important; +} +/* Icon overlay small style */ +.tab-icon-overlay:is([pinned], [sharing]):not([crashed]) { + stroke: unset !important; +} +.tab-icon-overlay:is([pinned]):not([crashed]), +.tab-icon-overlay:is([sharing]):not([crashed], [selected]) { + background: var(--gnome-tab-button-background) !important; +} +.tab-icon-overlay:is([pinned], [sharing]):not([crashed]):hover { + background: var(--gnome-tab-button-hover-background) !important; +} + +/* Fix icon overlay posisition when sharing */ +.tab-icon-overlay:not([crashed], [pinned]):is([sharing])[selected] { + top: 0 !important; + inset-inline-end: 0 !important; +} + +/* Close tab button */ +:root { + --gnome-fill-icon: red !important; +} + +.tab-close-button { + list-style-image: url("../icons/window-close-symbolic.svg") !important; + fill: var(--gnome-toolbar-color) !important; + fill-opacity: 1 !important; + -moz-context-properties: fill, fill-opacity !important; + height: 16px !important; + opacity: 1 !important; + width: 16px !important; + z-index: 100 !important; +} + +:root:not(:-moz-window-inactive) .tab-close-button:hover { + background-color: var(--gnome-button-hover-background) !important; + border: none !important; + opacity: 1; +} +:root:not(:-moz-window-inactive) .tab-close-button:active { + background-color: var(--gnome-button-active-background) !important; +} + +.tab-close-button:active:not(:hover) { + background-image: none !important; + box-shadow: none !important; +} + +@media (prefers-color-scheme: dark) { + .tab-close-button.close-icon { + filter: invert(60%) brightness(150%); + } +} + +:root:-moz-window-inactive .tab-close-button:not(#hack) { + opacity: .18 !important; +} + +/* Autohide */ +.tabbrowser-tab:not([selected="true"]) .tab-close-button { + visibility: hidden !important; + opacity: 0 !important; +} +.tabbrowser-tab:hover .tab-close-button { + visibility: visible !important; + opacity: 1 !important; +} + +/* Fix close button position */ +.tabbrowser-tab:not([pinned]) .tab-label-container { + margin-right: -16px; +} +.tabbrowser-tab:not([pinned]):is([selected="true"], :hover) .tab-label-container[textoverflow="true"] { + margin-right: 0; +} +#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([pinned]) .tab-close-button { + display: block !important; +} + +/* Close button overlay */ +.tabbrowser-tab:not([pinned]) .tab-content::after, .tabbrowser-tab:not([pinned]) .tab-content::before { + bottom: 1px; + content: ""; + height: 100%; + opacity: 0; + position: absolute; + right: 0; + transition: all 0.2s ease-out; + width: 55px; +} +.tabbrowser-tab:not([pinned]) .tab-content::after { + background: transparent; + z-index: 90; +} +.tabbrowser-tab:not([pinned]) .tab-content::before { + background: linear-gradient(to left, var(--gnome-tabbar-tab-close-overlay-bg) 50%, transparent); + z-index: 99; +} +.tabbrowser-tab:not([pinned], :-moz-window-inactive):is([selected="true"], :hover) .tab-content::before { + opacity: 1; +} + +/* Tab close button etc. positioning */ +.tab-throbber, .tab-icon-image, .tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { + margin-top: 0 !important; +} + +/* Active tab */ +.tab-background[selected=true] { + background-color: var(--gnome-tabbar-tab-active-background) !important; + background-image: none !important; + border: none !important; + border-image: none !important; + box-shadow: 0 2px 3px rgba(0, 0, 0, 0.08) !important; +} +.tab-background[selected=true]:-moz-window-inactive { + background-color: var(--gnome-inactive-tabbar-tab-active-background) !important; + border-bottom-color: var(--gnome-tabbar-tab-border-color) !important; +} + +/* Hover tab */ +:root:not(:-moz-window-inactive) .tabbrowser-tab:hover > .tab-stack > .tab-background[selected=true] { + background-color: var(--gnome-tabbar-tab-active-hover-background) !important; +} +.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]), +#TabsToolbar[brighttext] > #tabbrowser-tabs > .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]), +#TabsToolbar[brighttext] > #tabbrowser-tabs > .tabbrowser-tab:hover > .tab-stack > .tab-background > .tab-line:not([selected=true]) { + background-color: transparent !important; +} +:root:not(:-moz-window-inactive) .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]) { + background-color: var(--gnome-tabbar-tab-hover-background) !important; + border-image: none !important; +} + +/* Full width tabs */ +.tabbrowser-tab:not([style^="max-width"]):not([pinned]), +.tabbrowser-tab[style^="max-width: 100px !important;"]:not([pinned]) { + max-width: 100% !important; +} +.tabbrowser-tab:not([style^="max-width"]):not([pinned]):not([fadein]), +.tabbrowser-tab[style^="max-width: 100px !important;"]:not([pinned]):not([fadein]) { + max-width: .1px !important; +} + +/* Remove blank spaces on tabs start and end */ +#TabsToolbar .titlebar-spacer { + display: none !important; +} + +/* Pinned tab size */ +.tabbrowser-tab[pinned] { + max-width: 36px !important; +} + +/* Remove container bottom line indicator */ +.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line { + display: none; +} + +/* Create new container tab indicator */ +.tabbrowser-tab[class*="identity-color-"] .tab-background:not(#hack) { /* Normal */ + background: var(--identity-tab-color) !important; + opacity: calc(.1 + var(--gnome-tabbar-tab-identity-base-opacity)); +} +:root:not(:-moz-window-inactive) .tabbrowser-tab[class*="identity-color-"]:hover > .tab-stack > .tab-background:not([selected=true]) { /* Hover */ + opacity: calc(.15 + var(--gnome-tabbar-tab-identity-base-opacity)) !important; +} +.tabbrowser-tab[class*="identity-color-"] .tab-background[selected=true] { /* Active */ + opacity: calc(.3 + var(--gnome-tabbar-tab-identity-base-opacity)) !important; +} +:root:not(:-moz-window-inactive) .tabbrowser-tab[class*="identity-color-"]:hover > .tab-stack > .tab-background[selected=true] { /* Active + Hover */ + opacity: calc(.35 + var(--gnome-tabbar-tab-identity-base-opacity)) !important; +} + +.tabbrowser-tab[class*="identity-color-"]:not([pinned], :-moz-window-inactive):is([selected="true"], :hover) .tab-content::after { + background: linear-gradient(to left, var(--gnome-tabbar-tab-background) 50%, transparent); + opacity: 1; +} +.tabbrowser-tab[class*="identity-color-"]:not([pinned])[selected="true"] .tab-content::before, +:root:not(:-moz-window-inactive) .tabbrowser-tab[class*="identity-color-"]:not([pinned])[selected="true"]:hover .tab-content::before, +.tabbrowser-tab[class*="identity-color-"]:not([pinned]):hover .tab-content::before, +.tabbrowser-tab[class*="identity-color-"]:not([pinned])[selected="true"]:-moz-window-inactive .tab-content::before { + --gnome-tabbar-tab-close-overlay-bg: var(--identity-tab-color) !important; +} +.tabbrowser-tab[class*="identity-color-"]:not([pinned]):hover .tab-content::before { /* Hover */ + opacity: calc(.15 + var(--gnome-tabbar-tab-identity-base-opacity)); +} +.tabbrowser-tab[class*="identity-color-"]:not([pinned])[selected="true"] .tab-content::before /* Active */ { + opacity: calc(.3 + var(--gnome-tabbar-tab-identity-base-opacity)); +} +:root:not(:-moz-window-inactive) .tabbrowser-tab[class*="identity-color-"]:hover > .tab-stack > .tab-content[selected=true]::before { /* Active + Hover */ + opacity: calc(.35 + var(--gnome-tabbar-tab-identity-base-opacity)); +} +:root:-moz-window-inactive .tabbrowser-tab[class*="identity-color-"]:not([pinned])[selected="true"] .tab-content::before { + opacity: 0; + transition: none !important; +} + +/* Tab spinner */ +.tab-throbber::before { + animation: gnome-spinner 1s linear infinite !important; + background-image: url("../icons/process-working-symbolic.svg") !important; + width: 16px !important; + opacity: 1 !important; +} + +@media (prefers-color-scheme: dark) { + .tab-throbber::before { + background-image: url("../icons/process-working-symbolic-light.svg") !important; + } +} + +@keyframes gnome-spinner { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +/* OPTIONAL: Hide single tab */ +@supports -moz-bool-pref("gnomeTheme.hideSingleTab") { + #tabbrowser-tabs tab:only-of-type { + display: none !important; + } +} + +/* OPTIONAL: Use normal width tabs */ +@supports -moz-bool-pref("gnomeTheme.normalWidthTabs") { + .tabbrowser-tab:not([style^="max-width"]):not([pinned]), + .tabbrowser-tab[style^="max-width: 100px !important;"]:not([pinned]) { + max-width: 225px !important; + } +} + +/* OPTIONAL: Add more contrast to the active tab */ +@supports -moz-bool-pref("gnomeTheme.activeTabContrast") { + .tab-background[selected=true], + :root:not(:-moz-window-inactive) .tabbrowser-tab:hover > .tab-stack > .tab-background:not(#hack) { + background: var(--gnome-tabbar-tab-active-background-contrast) !important; + } +} diff --git a/src/other/firefox/chrome/Colloid/parts/toolbox.css b/src/other/firefox/chrome/Colloid/parts/toolbox.css new file mode 100644 index 00000000..69b003cc --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/toolbox.css @@ -0,0 +1,150 @@ +/* Toolbox, a container for all toolbars (toolbox#navigator-toolbox): + * - menu bar (toolbar#toolbar-menubar) + * - tab bar (toolbar#TabsToolbar) + * - header bar (toolbar#nav-bar) + * - bookmark bar (toolbar#PersonalToolbar) + * - add-ons can add their own toolbars (toolbar) */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Toolbox colors */ +#navigator-toolbox { + border: 0 !important; + background: none !important; +} + +#nav-bar, #PersonalToolbar, #toolbar-menubar, #TabsToolbar, findbar { + border: 0 !important; + background: var(--gnome-toolbar-background) !important; +} +#nav-bar, #PersonalToolbar, #toolbar-menubar, #TabsToolbar { + border-bottom: 1px solid var(--gnome-toolbar-border-color) !important; +} +findbar { + border-top: 1px solid var(--gnome-toolbar-border-color) !important; +} +#nav-bar:-moz-window-inactive, +#PersonalToolbar:-moz-window-inactive, +#toolbar-menubar:-moz-window-inactive, +#TabsToolbar:-moz-window-inactive, +findbar:-moz-window-inactive, +.container.infobar:-moz-window-inactive { + background: var(--gnome-inactive-toolbar-background) !important; + border-color: var(--gnome-inactive-toolbar-border-color) !important; +} + +#navigator-toolbox:-moz-window-inactive label, #navigator-toolbox:-moz-window-inactive image, +#downloads-indicator-anchor:-moz-window-inactive, +findbar:-moz-window-inactive image:not(#hack), +findbar:-moz-window-inactive label, +findbar:-moz-window-inactive description, +#viewButton:-moz-window-inactive dropmarker, +.container.infobar:-moz-window-inactive { + opacity: 0.7 !important; +} + +#toolbar-menubar:not([inactive=true]) { + margin-bottom: 0 !important; +} +#PersonalToolbar { + padding: 1px !important; +} + +/* Overrides: Remove border below the menu bar / above the header bar */ +#TabsToolbar:not([collapsed="true"]) + #nav-bar { + border-top-width: 0 !important; +} +#navigator-toolbox::after { + border-bottom-width: 0 !important; +} + +/* Reorder toolbars */ +#navigator-toolbox #nav-bar { + -moz-box-ordinal-group: 0; +} +#navigator-toolbox #PersonalToolbar { + -moz-box-ordinal-group: 1; +} +#navigator-toolbox #titlebar { + -moz-box-ordinal-group: 2; +} +#navigator-toolbox toolbar { + -moz-box-ordinal-group: 10; +} +#navigator-toolbox #TabsToolbar { + -moz-box-ordinal-group: 100; +} + +/* Overrides: Don't shift other toolbars on tab drag and drop */ +#TabsToolbar[movingtab] { + padding-bottom: 0 !important; +} +#TabsToolbar[movingtab] > .tabbrowser-tabs { + padding-bottom: 0 !important; + margin-bottom: 0 !important; +} +#TabsToolbar[movingtab] + #nav-bar { + margin-top: 0 !important; +} + +/* Content notifications */ +.notificationbox-stack notification-message { + border: 0 !important; + font-size: 1em !important; + padding: 0 !important; + border-radius: 0 !important; + margin: 0 !important; +} +.notificationbox-stack notification-message[style*="margin-top"] { + margin-top: -48px !important; +} + +.container.infobar { + background: var(--gnome-toolbar-background) !important; + box-shadow: none !important; + padding: 6px !important; + border-radius: 0 !important; +} +.container.infobar::before { + display: none !important; +} + +.container.infobar .icon { + height: 16px !important; + width: 16px !important; +} +.notificationbox-stack notification-message[type="warning"] { + background: #ffe900 !important; +} +.notificationbox-stack notification-message[type="critical"] { + background: #d70022 !important; +} + +.notificationbox-stack[notificationside="top"] notification-message { + border-bottom: 1px solid var(--gnome-toolbar-border-color) !important; +} +.notificationbox-stack[notificationside="bottom"] notification-message { + border-top: 1px solid var(--gnome-toolbar-border-color) !important; +} + +/* Text link */ +.text-link { + color: var(--gnome-accent) !important; +} + +/* OPTIONAL: Hide WebRTC indicator */ +@supports -moz-bool-pref("gnomeTheme.hideWebrtcIndicator") { + #webrtcIndicator { + display: none; + } +} + +/* OPTIONAL: Move Bookmarks toolbar under tabs */ +@supports -moz-bool-pref("gnomeTheme.bookmarksToolbarUnderTabs") { + #navigator-toolbox #titlebar { + -moz-box-ordinal-group: 1 !important; + } + #navigator-toolbox #PersonalToolbar { + -moz-box-ordinal-group: 2 !important; + } +} diff --git a/src/other/firefox/chrome/Colloid/parts/urlbar.css b/src/other/firefox/chrome/Colloid/parts/urlbar.css new file mode 100644 index 00000000..a9f2d484 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/urlbar.css @@ -0,0 +1,182 @@ +/* Header bar's URL bar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +#urlbar { + --urlbar-height: 34.00px; + --urlbar-toolbar-height: 34.00px !important; +} + +/* Center the URL bar */ +toolbarspring { + max-width: 10000px !important; +} + +/* URL bar */ +#urlbar { + box-shadow: none !important; +} +#urlbar-background { + box-shadow: var(--gnome-entry-box-shadow) !important; + border: 0 !important; + background: transparent !important; +} + +#urlbar[breakout][breakout-extend] { + left: 0 !important; + top: 0 !important; + width: 100% !important; + z-index: 5 !important; +} + +#urlbar #urlbar-input-container { + padding: 0 !important; +} + +/* URL bar results */ +.urlbarView { + background: transparent !important; + color: var(--gnome-toolbar-color) !important; + margin: 6px 0 0 0 !important; + width: 100% !important; + position: absolute !important; + box-shadow: var(--gnome-menu-shadow) !important; + border-radius: 12px !important; +} + +/* Search bar result */ +#PopupSearchAutoComplete { + margin-top: 7px !important; +} + +.urlbarView-body-outer { + --item-padding-start: 0 !important; + --item-padding-end: 0 !important; + background: var(--gnome-menu-background) !important; + overflow-x: auto; + padding: 2px 6px !important; + border-radius: 8px 8px 0 0 !important; +} + +.urlbarView-body-inner { + border: 0 !important; +} + +.urlbarView-row-inner, .urlbarView-no-wrap { + align-items: center !important; +} +.urlbarView-row-inner { + padding-block: 5px !important; + border-radius: 5px !important; +} + +.urlbarView-row[selected] .urlbarView-row-inner { + background: var(--gnome-accent-bg) !important; + color: white !important; +} +.urlbarView-row:not([selected]):hover .urlbarView-row-inner { + background: var(--gnome-menu-button-hover-background) !important; +} + +.urlbarView-action { + background: transparent !important; +} + +/* Search engines buttons */ +.search-one-offs { + padding: 8px !important; + background: var(--gnome-menu-background) !important; + border-top: 1px solid var(--gnome-menu-separator-color) !important; + border-radius: 0 0 8px 8px !important; +} + +.search-one-offs[is_searchbar="true"] { + margin-bottom: -8px !important; +} + +/* URL bar and Search bar */ +#urlbar[focused] .urlbar-textbox-container { + margin: -1px !important; +} +#searchbar > .searchbar-textbox[focused] .searchbar-search-button { + margin-left: -1px !important; +} +#searchbar > .searchbar-textbox[focused] .search-go-button { + margin-right: -1px !important; +} + +/* URL bar and Search bar's icons */ +.urlbar-icon:hover, +.urlbar-icon-wrapper:hover, +.urlbar-icon[open], +.urlbar-icon-wrapper[open], +.urlbar-icon:hover:active, +.urlbar-icon-wrapper:hover:active, +.searchbar-search-button:hover .searchbar-search-icon, +.searchbar-search-button[open] .searchbar-search-icon, +.searchbar-search-button:hover:active .searchbar-search-icon { + background-color: transparent !important; + fill-opacity: 1 !important; +} + +/* Fixed size for some urlbar-icon */ +#star-button.urlbar-icon, +#reader-mode-button > .urlbar-icon { + padding: 3px 0 !important; +} + +/* Search mode indicator */ +#urlbar-search-mode-indicator, +#urlbar-label-box, +#urlbar-zoom-button { + background: var(--gnome-button-background) !important; + border: 0 !important; + border-radius: 26px !important; + outline: 0 !important; + margin: 4px 0; +} +#urlbar-search-mode-indicator { + padding-right: 0 !important; +} +#urlbar-search-mode-indicator-title { + color: var(--gnome-toolbar-color); + padding-inline: 4px !important; +} +#urlbar-search-mode-indicator-close { + background-size: 16px !important; + background-position: center; + border-radius: 26px !important; + padding: 5px !important; +} +#urlbar-search-mode-indicator-close:hover { + background-color: var(--gnome-button-hover-background) !important; +} +#urlbar-zoom-button { + opacity: 0.8; +} +#urlbar-zoom-button:hover { + opacity: 1; +} + +/* Firefox identity box */ +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button, +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button, +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button, +#urlbar-label-box { + background-color: transparent !important; +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:hover:not([open]), +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:hover:not([open]), +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:hover:not([open]) { + background-color: hsla(0,0%,70%,.2) !important; +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button[open=true], +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button[open=true], +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button[open=true] { + background-color: hsla(0,0%,70%,.3) !important; +} diff --git a/src/other/firefox/chrome/Colloid/parts/video-player.css b/src/other/firefox/chrome/Colloid/parts/video-player.css new file mode 100644 index 00000000..bc8a6a03 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/parts/video-player.css @@ -0,0 +1,75 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace html url("http://www.w3.org/1999/xhtml"); + +/** Video player **/ + +.progressBar::-moz-progress-bar { + background-color: #fff !important; +} + +.scrubber:hover::-moz-range-thumb, +.volumeControl:hover::-moz-range-thumb { + background-color: #ccc !important; +} + +.scrubber:active::-moz-range-thumb, +.volumeControl:active::-moz-range-thumb { + background-color: #bbb !important; +} + +.controlBar { + border-radius: 5px; + margin: auto; + margin-bottom: 5px; + width: 98.5%; + max-width: 800px; + height: 30px !important; + background-color: rgba(20,20,20,0.8) !important; +} + +.controlBar > .button:enabled:hover { + fill: #ccc !important; +} + +.controlBar > .button:enabled:hover:active { + fill: #bbb !important; +} + +.scrubberStack { + margin: 0 10px; +} + +.playButton { + scale: 0.8; +} + + + +/** Vertical Volume Bar **/ +/* I'm to stupid to get this working. Wasn't able to set proper position relative to mute button */ + +/* .muteButton:hover ~ .volumeStack{ + margin-bottom: 129px !important; + } + .volumeStack:hover { + margin-bottom: 129px !important; + } + + .volumeStack { + transform: rotate(270deg); + max-height: 33px !important; + min-width: 100px !important; + position:absolute !important; + margin-bottom: -150px !important; + background-color: rgba(20,20,20,0.8) !important; + border-bottom-right-radius: 5px !important; + border-top-right-radius: 5px !important; + transition-property: margin-bottom; + transition-duration: 0.13s; + transition-timing-function: linear; + } + + .volumeControl{ + width: 92% !important; + margin-left: 5px !important; +} */ diff --git a/src/other/firefox/chrome/Colloid/symbolic-tab-icons.css b/src/other/firefox/chrome/Colloid/symbolic-tab-icons.css new file mode 100644 index 00000000..feace9d4 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/symbolic-tab-icons.css @@ -0,0 +1,19 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Icons light/dark fix coloring hack filters */ +:root { + --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%) invert(100%); +} +@media (prefers-color-scheme: dark) { + :root { + --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%); + } +} + +/* OPTIONAL: Make all tab icons look kinda like symbolic icons */ +@supports -moz-bool-pref("gnomeTheme.symbolicTabIcons") { + tab .tab-icon-image { + filter: var(--gnome-convert-icon-to-symbolic-hack-filter); + } +} + diff --git a/src/other/firefox/chrome/Colloid/system-icons.css b/src/other/firefox/chrome/Colloid/system-icons.css new file mode 100644 index 00000000..74045c18 --- /dev/null +++ b/src/other/firefox/chrome/Colloid/system-icons.css @@ -0,0 +1,220 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Icons light/dark fix coloring hack filters */ +:root { + --gnome-icons-hack-filter: filter: brightness(0) saturate(100%) invert(37%) sepia(8%) saturate(683%) hue-rotate(183deg) brightness(95%) contrast(84%); + --gnome-window-icons-hack-filter: filter: brightness(0) saturate(100%) invert(37%) sepia(8%) saturate(683%) hue-rotate(183deg) brightness(95%) contrast(84%); +} +@media (prefers-color-scheme: dark) { + :root { + --gnome-icons-hack-filter: brightness(0) saturate(100%) invert(94%) sepia(11%) saturate(362%) hue-rotate(184deg) brightness(95%) contrast(87%); + --gnome-window-icons-hack-filter: brightness(0) saturate(100%) invert(94%) sepia(11%) saturate(362%) hue-rotate(184deg) brightness(95%) contrast(87%); + } +} + +/* OPTIONAL: Use system theme icons instead of Adwaita icons included by theme */ +@supports -moz-bool-pref("gnomeTheme.systemIcons") { + /* Window buttons */ + :root[tabsintitlebar] #titlebar .titlebar-button .toolbarbutton-icon, + :root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton .toolbarbutton-icon { + filter: var(--gnome-window-icons-hack-filter) !important; + width: 16px; + } + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar #titlebar-close .toolbarbutton-icon { + list-style-image: url("moz-icon://stock/window-close-symbolic?size=dialog") !important; + } + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar #titlebar-max .toolbarbutton-icon { + list-style-image: url("moz-icon://stock/window-maximize-symbolic?size=dialog") !important; + } + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-restore .toolbarbutton-icon { + list-style-image: url("moz-icon://stock/window-restore-symbolic?size=dialog") !important; + } + :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min .toolbarbutton-icon, + :root[tabsintitlebar] #titlebar #titlebar-min .toolbarbutton-icon { + list-style-image: url("moz-icon://stock/window-minimize-symbolic?size=dialog") !important; + } + :root[tabsintitlebar][inFullscreen] #window-controls #restore-button .toolbarbutton-icon { + list-style-image: url("moz-icon://stock/view-restore-symbolic?size=dialog") !important; + } + + /* Toolbars close button */ + .close-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/window-close-symbolic?size=dialog") !important; + } + + /* Navbar icons */ + + /* Back button */ + #nav-bar #back-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/go-previous-symbolic?size=dialog") !important; + } + /* Forward button */ + #nav-bar #forward-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/go-next-symbolic?size=dialog") !important; + } + /* Menu button */ + #PanelUI-menu-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/open-menu-symbolic?size=dialog") !important; + } + /* New tab button */ + #new-tab-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/tab-new-symbolic?size=dialog") !important; + } + /* Home button */ + #home-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/user-home-symbolic?size=dialog") !important; + } + /* Preferences button */ + #preferences-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/preferences-system-symbolic?size=dialog") !important; + } + /* Fullscreen button */ + #fullscreen-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/view-fullscreen-symbolic?size=dialog") !important; + } + /* Zoom out button */ + #zoom-out-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/zoom-out-symbolic?size=dialog") !important; + } + /* Zoom in button */ + #zoom-in-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/zoom-in-symbolic?size=dialog") !important; + } + /* Developer button */ + #developer-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/applications-engineering-symbolic?size=dialog") !important; + } + /* Email link button */ + #email-link-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/mail-unread-symbolic?size=dialog") !important; + } + /* Print button */ + #print-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/printer-symbolic?size=dialog") !important; + } + /* Addons button */ + #add-ons-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/application-x-addon-symbolic?size=dialog") !important; + } + /* Find button */ + #find-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-find-symbolic?size=dialog") !important; + } + /* New window button */ + #new-window-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/window-new-symbolic?size=dialog") !important; + } + /* Bookmarks menu button */ + #bookmarks-menu-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/starred-symbolic?size=dialog") !important; + } + /* History button */ + #history-panelmenu .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/preferences-system-time-symbolic?size=dialog") !important; + } + /* All tabs button */ + #alltabs-button { + list-style-image: url("moz-icon://stock/pan-down-symbolic?size=dialog") !important; + } + #alltabs-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + } + /* Cut button */ + #cut-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-cut-symbolic?size=dialog") !important; + } + /* Copy button */ + #copy-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-copy-symbolic?size=dialog") !important; + } + /* Paste button */ + #paste-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-paste-symbolic?size=dialog") !important; + } + + /* Reload */ + #reload-button, + #context-reload .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/view-refresh-symbolic?size=dialog") !important; + } + /* Stop */ + #stop-button, + #context-stop .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/process-stop-symbolic?size=dialog") !important; + } + /* Downlaod */ + #downloads-button, + #downloads-indicator-icon .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/folder-download-symbolic?size=dialog") !important; + } + + /* Navbar overflow button */ + #nav-bar-overflow-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/pan-down-symbolic?size=dialog") !important; + } + + /* Context back button */ + #context-back .menu-iconic-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/go-previous-symbolic?size=dialog") !important; + } + /* Context forward button */ + #context-forward .menu-iconic-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/go-next-symbolic?size=dialog") !important; + } + + /* Main menu buttons icons */ + #appMenu-zoomReduce-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/zoom-out-symbolic?size=dialog") !important; + } + #appMenu-zoomEnlarge-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/zoom-in-symbolic?size=dialog") !important; + } + #appMenu-fullscreen-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/view-fullscreen-symbolic?size=dialog") !important; + } + #appMenu-cut-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-cut-symbolic?size=dialog") !important; + } + #appMenu-copy-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-copy-symbolic?size=dialog") !important; + } + #appMenu-paste-button .toolbarbutton-icon { + filter: var(--gnome-icons-hack-filter); + list-style-image: url("moz-icon://stock/edit-paste-symbolic?size=dialog") !important; + } +} + diff --git a/src/other/firefox/chrome/Colloid/theme.css b/src/other/firefox/chrome/Colloid/theme.css new file mode 100644 index 00000000..0c8e029c --- /dev/null +++ b/src/other/firefox/chrome/Colloid/theme.css @@ -0,0 +1,36 @@ +@import "parts/toolbox.css"; +@import "parts/headerbar.css"; +@import "parts/headerbar-private-window.css"; +@import "parts/csd.css"; +@import "parts/urlbar.css"; +@import "parts/tabsbar.css"; +@import "parts/findbar.css"; +@import "parts/sidebar.css"; +@import "parts/lists.css"; + +@import "parts/buttons.css"; +@import "parts/buttons-fixes.css"; +@import "parts/entries.css"; +@import "parts/controls.css"; +@import "parts/icons.css"; + +@import "parts/popups.css"; +@import "parts/popups-contents.css"; +@import "parts/dialogs.css"; + +@import "parts/remove-white-flash.css"; + +@import "colors/light.css"; +@import "colors/dark.css"; + +@import "system-icons.css"; +@import "symbolic-tab-icons.css"; +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Set theme version text in customization panel */ +#customization-footer::before { + background: url(../icon.svg) no-repeat; + background-size: contain; + content: "Firefox GNOME theme v102"; + padding: 9px 9px 9px 50px; +} diff --git a/src/other/firefox/chrome/customChrome.css b/src/other/firefox/chrome/customChrome.css new file mode 100644 index 00000000..6b97dd35 --- /dev/null +++ b/src/other/firefox/chrome/customChrome.css @@ -0,0 +1,3 @@ + +/* Add your own custom styles here */ + diff --git a/src/other/firefox/chrome/userChrome.css b/src/other/firefox/chrome/userChrome.css new file mode 100644 index 00000000..c8a72eef --- /dev/null +++ b/src/other/firefox/chrome/userChrome.css @@ -0,0 +1,9 @@ + +/* Import theme */ +@import "theme/gnome-theme.css"; + +/* Import a custom stylesheet + * Everything you add in your customChrome.css file (it doesn't exist by + * default) will be included here and preserved between updates. + * You can apply your own custom styles in that file. */ +@import "customChrome.css"; /**/ diff --git a/src/other/firefox/chrome/userContent.css b/src/other/firefox/chrome/userContent.css new file mode 100644 index 00000000..18fe21c8 --- /dev/null +++ b/src/other/firefox/chrome/userContent.css @@ -0,0 +1,7 @@ +@import "theme/colors/light.css"; +@import "theme/colors/dark.css"; + +@import "theme/pages/newtab.css"; +@import "theme/pages/privatebrowsing.css"; + +@import "theme/parts/video-player.css"; diff --git a/src/other/firefox/configuration/user.js b/src/other/firefox/configuration/user.js new file mode 100644 index 00000000..639071fe --- /dev/null +++ b/src/other/firefox/configuration/user.js @@ -0,0 +1,12 @@ +/* user.js + * https://github.com/rafaelmardojai/firefox-gnome-theme/ + */ + +// Enable customChrome.css +user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); + +// Set UI density to normal +user_pref("browser.uidensity", 0); + +// Enable SVG context-propertes +user_pref("svg.context-properties.content.enabled", true); diff --git a/src/other/firefox/screenshot.png b/src/other/firefox/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5f3c5d0015f9fbf6a27b2a5a0c100ba0cd5f5f75 GIT binary patch literal 277070 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

;FC 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

BVO8Sn7|Wo;e!g9=8v_luJ4CiNcfQ|1e9#-`X$` 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

d)G$B*m;m)oi9Yh(! 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�F;_Xh%Nwn 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