Create single-line user CSS files if non-existent or empty (at least one line is needed for sed):
[[ -s userChrome.css ]] ||echo>> userChrome.css
Import this theme at the beginning of the CSS files (all @imports must come before any existing @namespace declarations):
sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css
Symlink preferences file:
cd .. # Go back to the profile directory
ln -fs chrome/firefox-gnome-theme/configuration/user.js user.js
Restart Firefox.
Open Firefox customization panel and move the new tab button to headerbar.
Be happy with your new gnomish Firefox.
Required Firefox preferences
We provide a user.js configuration file in configuration/user.js that enable some preferences required by this theme to work.
You should already have this file installed if you followed one of the installation methods, but in any case be sure this preferences are enabled under about:config:
This preference is required to load the custom CSS in Firefox, otherwise the theme wouldn't work.
svg.context-properties.content.enabled
This preference is required to recolor the icons, otherwise you will get black icons everywhere.
For other non essential preferences checkout configuration/user.js.
Updating
Both manual and script installation methods should create a git clone in your-profile-folder-path/chrome/firefox-gnome-theme, so the easiet way to update the theme is to open this folder in terminal and perform a git pull.
git pull origin master
Note: You can also run the installation script again to update (after cloning again the repo).
Uninstalling
Go to your profile folder. (Go to about:support in Firefox > Application Basics > Profile Directory > Open Directory)
Remove chrome folder.
Enabling optional features
Optional features can be enabled by creating new boolean preferences in about:config.
Go to the about:config page
Type the key of the feature you want to enable
Set it as a boolean and click on the add button
Restart Firefox
Features
Hide single tabgnomeTheme.hideSingleTab
Hide the tab bar when only one tab is open.
Note: You should move the new tab button somewhere else for this to work, because by default it is on the tab bar too. See #54.
SpinnergnomeTheme.spinner
Use the GNOME spinner for tabs loading.
Note: This is optional because Firefox has issues rendering the spinner SVG:
Normal width tabsgnomeTheme.normalWidthTabs
Use normal width tabs as default Firefox.
Bookmarks toolbar under tabsgnomeTheme.bookmarksToolbarUnderTabs
Move Bookmarks toolbar under tabs.
Active tab contrastgnomeTheme.activeTabContrast
Add more contrast to the active tab.
System iconsgnomeTheme.systemIcons
Use system theme icons instead of Adwaita icons included by theme.
Search for the layers.acceleration.force-enabled preference and set it to true.
Now restart Firefox, and it should look good!
X11 fix:
Go to the about:config page
Type mozilla.widget.use-argb-visuals
Set it as a boolean and click on the add button
Now restart Firefox, and it should look good!
Icons color broken with System icons
Icons might appear black where they should be white on some systems. I have no idea why, but you can adjust them directly in the system-icons.css file, look for --gnome-icons-hack-filter & --gnome-window-icons-hack-filter vars 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.
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.
请发表评论