Giter VIP home page Giter VIP logo

firefox-gnome-theme's Introduction

Hi there! ๐Ÿ‘‹

I'm a ๐Ÿ’ป software engineer working on front-end web development and a bunch of free software projects. I love creating pretty sparkly animated things with great UX. I use ๐ŸŽ Macs and ๐Ÿง Gentoo Linux.

Some of my projects:

  • ๐ŸฆŠ I created the Firefox GNOME Theme project. Now maintained by Rafael (thanks a lot for your hard work!).
  • ๐Ÿฟ I made the Squirrel Tale game in Canvas API from scratch.
  • ๐Ÿ’พ I wrote a Tic Tac Toe game for MS-DOS.
  • ๐Ÿค– I helped Pizzacus with her most devilish Discord bot, Satania.
  • ๐Ÿ”” I contributed to the dunst project which brings desktop notifications to Linux setups.

firefox-gnome-theme's People

Contributors

charosw avatar lunakurame avatar rafaelmardojai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firefox-gnome-theme's Issues

New files structure

New ui files organization proposal:

  • core.css (rename theme.css, generated by CSS Pre-Processor)
  • core-scss (suffix depending preprocessor)
    • core.scss (basic styles and imports)
    • _navbar.scss
    • _tabs.scss
    • _popups.scss
    • _etc.scss
  • themes (themes only store variables, so they are written in pure css)
    • gnome-3.18-dark.css
    • gnome-3.18-light.css
    • gnome-3.26-dark.css
    • gnome-3.26-light.css
  • modules (modules are small, so they are written in pure css)
    • hide-single-tab.css
    • matching-autocomplete-width.css
    • private-urlbar.css
    • symbolic-tab-icons.css
    • csd.css
    • experimental-ff-60-csd.css

About the CSS Pre-Processor, we have some options to choose:

  • SCSS
  • Sass
  • LESS
  • Stylus

Let me know what do you think about it.

Complete 3.26 light/dark themes, and various improvements

https://github.com/smithfred/firefox-gnome-theme-3.26-layer

It has working/visually accurate 3.26 light/dark themes, and it also addresses the following issues: #18, #19, #20.

Yeah, it's a separate add-on project, not a pull request, since it was just a bunch of fixes I was keeping separate originally.

It's designed to sit next to an untouched copy of firefox-gnome-theme and add to/override things as necessary (see its README). Maybe I'll re-organise things later/fork firefox-gnome-theme and merge everything into the fork, don't know.

Center page title inside tabs

Great work on this theme! A minor detail I noticed is that the page titles inside the tabs are not centered, which does seem to be the case with actual GTK tabs, such as used in epiphany.

Faint circle (from default Firefox theme) when hovering over back button

When hovering over the back button, a faint circle is visible around the arrow icon, which is an artifact from the default Firefox theme. (This can be demonstrated by changing "Density" to "Compact" in the Customize menu; the circle stops appearing since it is not part of the back button with that density.)
Screenshot depicting faint circle
Obviously this circle is not a part of the Adwaita styling, and should be removed if possible.

Firefox 61: Titlebar is cut on the top

The titlebar margin is cut short from the top on Firefox 60+. Previously, adjusting the height margin value from fedora-css fixed that but it no longer does after the latest update.

captura de pantalla de 2018-03-31 14-48-00

Client-side decorations mode support

Nice work on this :)

Would be great to have full support for Moz's new/upcoming client-side decorations mode. AFAIK it's not available in vanilla FF57, but Fedora have patched in support (you could test it in a VM if you're using a different distro), and I believe it's also available on FF nightly. The relevant about:config key is widget.allow-client-side-decoration.

At the moment, the theme more or less works, but there is 2-3 times the right amount of padding above the header bar widgets, and there are no window controls (at least the close button is missing; presumably the others would also be if they'd been enabled via e.g. Tweaks).

Support third party GTK+ themes

As we have seen (#37 & #46) we lack support to non-Adwaita themes.
Here I propose some changes to create a way to support these themes.

Approach 1: Basic "GNOME" styles separated from themes ones

core.css: Base GNOME look and feel styles.

adwaita-base.css: Base Adwaita look and feel styles.
adwaita-dark.css & adwaita-light.css: Adwaita themes (variables storage).

adapta-base.css: Base Adapta look and feel styles.
adapta.css, adapta-nokto.css, adapta-eta.css, adapta-nokto-eta.css: Adapta themes (variables storage).

(Every theme can have different variables)

Approach 2: Just override Adwaita styles as needed

core.css: Base Adwaita look end feel styles (like the one we have now).
gnome-dark.css & gnome-light.css: Adwaita themes (variables storage, the same as now).

adapta-base.css: Base Adapta look and feel styles, overrides core.css rules as needed, defines new variables as needed.
adapta.css, adapta-nokto.css, adapta-eta.css, adapta-nokto-eta.css: Adapta themes (variables storage).


What do you think is the way to go? Let me know.

Back button slightly larger than forward button (blurry back icon)

This is a minor issue but, as you can see, the back button is slightly larger than the forward one, making the icon appear blurry:
screenshot from 2018-05-18 15-11-05

I'm not sure if this only happens to me. My monitor has a 1920:1080 ratio; the issue exists independently of the size of the Firefox window. Using latest master under FF 60.0.

Once again, thank you for your work!

theme api 'toolbar_text' element changes color of toolbar text

This may not seem like a bug by the title but for a static theme like this having elements that change color isn't great. However, as there may be situations where someone might want a to use a theme api extension (such as another extension that can tap into that api) completely setting the color of elements would probably be useful

@import local files for convenience

Hi!

So I already had both custom userContent.css and userChrome.css, but of course I have to use yours, they are so fantastic.

Which means I merged yours with my local ones, but it's a pain to update.

Can you possibly add something equivalent to

@import "localContent.css" and @import "localChrome.css" at the bottom of your CSS files? Then I could just git pull and put my own selectors in those files, and never have any conflicts.

Firefox will stop parsing at those statements if the files do not exist, so they must be at the bottom.

Thank you for the work you've done, it looks amazing.

Not An Issue: This is great!

Thanks for making this and sharing it with other people. I love it. I'm using this everywhere now. ๐Ÿ‘ ๐Ÿ˜„

Go back button doesn't scale properly on some systems

The "go back" button seems to look fine on my system and any other system I run on a virtual machine, but it seems to not scale properly for some people, eg. it was reported to be too big in issue #2 (Firefox 57), also it seems blurred (slightly too big?) on the screenshots from issue #7 (Firefox 58 or 59).

It would be nice if anyone could find a reason why does it behave like that, or any way for me to reproduce it, so I can fix it.

Branching/tagging/supported setups policy

Per #21, would be useful to have tags for specific versions, and a policy for what master tracks (nightly? beta? release?)

Tags would be e.g. 58.0 for the release of the theme for FF58, then 58.1 for the first bugfix release of the theme for FF58 etc. Fixes for "old" versions of Firefox (i.e. FF versions older than whatever master tracks) would go into version-specific branches.

So maybe master applies against nightly, then there's a 59 branch and a 58 branch.

As mentioned on #21, Fedora's CSD backports can be detected so don't need a separate branch.

Also, would be good to have some definition of a "standard" setup the theme is tested against - Adwaita Light/Dark desktop theme (not "global dark"); normal Firefox theme density; fresh Firefox profile; supported toolbar layouts; supported GNOME version(s); supported distributions. There are a few "fuck knows why this doesn't work for some people, twiddle with this stuff randomly to get it work" things in the theme at the moment.

For distros tested against I'd suggest at least Ubuntu and Fedora - Ubuntu since it's the behemoth, Fedora because it pretty much offers standard/latest GNOME vs. Ubuntu's mess of old versions, GNOME patches etc. etc. The Firefox CSD patches/backports are unusual, Fedora doesn't usually do early downstream stuff like that.

For supported GNOME versions I'd suggest latest release + maybe current Ubuntu LTS GNOME version (again, the behemoth factor).

Disable tab animations

GNOME applications seem to have no tab animations (when creating a new tab or closing a tab); I believe it's in this theme's interest to copy that.

There used to be an about:config option to exclusively disable tab animations (browser.tabs.animate) but I cannot find it anymore (using FF 60.0). Currently, disabling toolkit.cosmeticAnimations.enabled seems to work, but I believe it is also turning off other animations.

It would be nice if this theme solved this without having to mess around in about:config. What do you think? Is it possible to disable the tab animations in the CSS?

If not, perhaps it would be a good idea to add a list of about:config settings to the README that further improve this theme's resemblance to a native GNOME application.

Thank you for your work so far!

Don't take over primary userChrome.css/userContent.css

At the moment (when installing per the instructions) firefox-gnome-theme takes over the entire $firefoxprofiledir/chrome directory, and subsequently "owns" (controls) that profile's primary userChrome.css and userContent.css files.

Instead, it's much tidier to put all of firefox-gnome-theme's files in their own subdirectory, and add a single @import to each of the user's userChrome.css and userContent.css files:

#!/bin/bash
cd ~/.mozilla/firefox/*.default
# Create chrome dir if non-existent
mkdir -p chrome
cd chrome
# Clone to subdir
git clone https://github.com/kurogetsusai/firefox-gnome-theme.git
# Create single-line main user CSS files if non-existent or empty (at least one line needed for sed)
[[ -s userChrome.css ]] || echo >> userChrome.css
[[ -s userContent.css ]] || echo >> userContent.css
# Insert imports at beginning of user CSS files (before any existing @namespace)
sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css
sed -i '1s/^/@import "firefox-gnome-theme\/userContent.css";\n/' userContent.css

This has a number of benefits:

  • You don't replace the user's existing userChrome.css/userContent.css files (e.g. if they already exist with customisations)
  • You don't change the location for any unrelated custom user*css rules (currently you're telling the user "now you have to put your unrelated custom CSS in my project-specific custom CSS files instead" (customChrome.css/customContent.css).
  • Can co-exist nicely with any other similar userChrome/userContent projects (each project can be @import-ed from the user-controlled master userChrome/userContent files). Currently, another similarly structured project would also want to "own" the primary userChrome/userContent files).
  • Keeps the chrome directory tidy, with clear/obvious file-project origins/mappings. Again, currently, as per above, another similarly structured project would mix files with (and possibly clobber) this project's.

Close Button Is Misaligned with CSD

The close button on Fedora 27 with Firefox 58 + CSD is misaligned with the rest of the HeaderBar.
csd-firefox-issue
This is persistent with all sizes of the CSD bar and with both light and dark themes.

userContent.css doesn't fully load with e10s enabled

Firefox 57

@imports in userContent.css don't work when e10s is enabled: https://bugzilla.mozilla.org/show_bug.cgi?id=1416184. You can disable e10s by switching browser.tabs.remote.autostart and browser.tabs.remote.autostart.2 to false in about:config. Disabling it has side effects tho, the close button on the bookmark sidebar becomes a white rectangle and all icons look like if they were hovered all the time. More info in issue #14.

Firefox 59

It worked in alpha, still doesn't fully work in stable. @imports work in some places but not in others, eg. it works on Firefox's about: pages, but if you go to a non-existent address like https://shit.does.not.exist/ it still doesn't style them. Workaround: disable e10s, still causes side effects.

Firefox 60

Everything seems to work for now (60.0b8), whether e10s is enabled or not. Also disabling e10s doesn't have those side effects anymore. One new issue: opening a new tab (any page, not just about:newtab) sometimes flashes a white screen.

Firefox 61

The same as FF 60, except styles don't work on about:newtab. Hopefully it's just wrong selectors.

Closing tabs shifts tab width

We had this bug at some times in our theme implementation too, especially when tab widths are forced:

When you're closing a tab and the mouse is still over the tab strip, the tab widths change, so you're not necessarily over the next tab. This can cause someone closing a lot of tabs in a row (either when using the X button or middle-clicking a tab) a bit of a problem, as the tabs will have shifted and they might close the wrong tab.

mozextension page theming can break addons

I use a sidebar addon which can link into the new firefox theme api. Because the userContent part of firefox-gnome-theme sets the background color of mozextension pages statically that part of the extension breaks. So while this setting may be useful for mozextension pages that show in a normal tab it can have unintended side effects for those that show in the sidebar. Is there possibly a way to restrict the theming to just the normal tab pages

Better support for the menu bar

Currently this is what happens when the menu bar is shown by pressing alt or ticking the Menu Bar option (in FF 60.0 with CSD enabled):
screenshot from 2018-05-14 10-14-58

I'm not saying that it should look perfect since GNOME applications have no menu bar anyway, but perhaps it could look a little less broken? :)

Thank you for your work!

Tab bar

Also the menu bar is below the tab bar (things are flipped upside down to move the tabs below the URL bar). That's pretty shit, but I haven't figured out how to move the tab bar without flipping everything else yet and I don't use the bookmark bar anyway so I'm fine with that.

Did you have a look at https://github.com/Aris-t2/CustomCSSforFx/? They also have some "experimental" code to move "tabs not on top".

CSD Buttons on the Left

On Firefox 66.0.3 for Fedora 30, I am using this theme, but I can't seem to get the titlebar buttons (close, maximize, and minimize) to go to the left side of the headerbar. This is different from Elementary (where the maximize button is on the right side and the close button is on the left), as all of my buttons are on the left.

They do show in the correct order, with the close button on the left of all the other buttons, but on the right side of the headerbar as a group:

image

I would like it to display like this:

image

There are some userChrome snippets out there on the web that supposedly do this, but none work for me that I've found. I'm not sure if that's because they're incompatible with the GNOME theme or if they're for an older version of firefox.

Consider migrating to gnome-integration-team?

I really love what you've done with theming Firefox.

Would you like to consider migrating to https://github.com/gnome-integration-team/ ?

Moving repos to organizations helps with teamwork.

I think your implementation of a Firefox theme is the only way we have to move forward to make Firefox fit on with GNOME (at least for the time being). The new theme API will most likely not get everything necessary to implement all the changes needed.

(I'm pretty sure @0rAX0, @seleznev, and everyone else there would agree.)

No rounded corners on the headerbar (FF 60/61)

Thank you for your great work on this. This is wonderful. For the most part it works great, but I do have one minor issue:

I've tested it on both Firefox beta (60) and nightly (61), with the browser's titlebar turned off. In both cases the headerbar does not have rounded corners. They're just sharp, rectangular corners. The screenshots I've seen suggest that there should be rounded corners, so I believe this is a bug. I'm using the experimental-ff-60-csd.css file.

csd buttons left option?

i'm using elementary os-> https://elementary.io/

they have the close button on the left & maximize on the right. i can't do nothing to change that. it kinda bothers me that only firefox has the button layouts on the right in csd mode.
is it possible to get the buttons split like that?

for now i been able to move the buttons to the left but they don't line up right(centered in button) could you help me get them to line up?

my customChrome.css:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

#nav-bar {
	margin-left: 82px;
}

#titlebar-max {
  -moz-box-ordinal-group: 0;
}

#titlebar-content {
  direction: rtl;
}

#TabsToolbar {
  direction: rtl;
}

#tabbrowser-tabs {
  direction: ltr;
}

my userChrome.css:

/*
 * In this file you can enable styles which apply to Firefox' user interface.
 * To enable a specific feature, uncomment its @import line by removing "/*" at
 * the beginning of the line. To disable it, put the "/*" back.
 */

/*******************************************************************************
 * GNOME Theme
 * Pick whichever variant you like, it doesn't have to match your GNOME version,
 * but it will probably look better if it does. Remember that your GTK theme
 * variant must match the variant you pick here, eg. if you pick a light
 * variant, you must also run Firefox using the light variant by either
 * disabling global dark theme in GNOME Tweak Tool or running Firefox explicity
 * with the light theme:
 *   $ GTK_THEME=Adwaita:light firefox
 * The opposite applies to the dark variant, you must either enable global dark
 * theme or run Firefox like this:
 *   $ GTK_THEME=Adwaita:dark firefox
 */

/* GNOME 3.18 light theme */
@import "ui/gnome-3.18-light.css"; /**/
/* GNOME 3.18 dark theme */
/*@import "ui/gnome-3.18-dark.css"; /**/
/* GNOME 3.26 light theme */
/*@import "ui/gnome-3.26-light.css"; /**/
/* GNOME 3.26 dark theme */
/*@import "ui/gnome-3.26-dark.css"; /**/

/*******************************************************************************
/* Client-side decorations (optional)
 */

/* Auto-detect CSD support (experimental)
 * Do not enable anything else in the CSD section of this file if you want to
 * use this. It should automatically detect and enable CSD for you. Note that
 * this option is experimental, if it doesn't work for you, please report a bug
 * on our GitHub. You can still use the options below to enable CSD manually. */
/*@import "ui/experimental-auto-csd.css"; /**/

/* Enable CSD manually
 * If you enable this, you also need to pick how many window buttons you have
 * below. */
@import "ui/csd.css"; /**/

/* Window controls: just 1 button */
/*@import "ui/csd-1-button.css"; /**/
/* Window controls: 2 buttons */
/*@import "ui/csd-2-buttons.css"; /**/
/* Window controls: 3 buttons */
/*@import "ui/csd-3-buttons.css"; /**/

/*******************************************************************************
 * Other features (optional)
 */

/* Hide the tab bar when only one tab is open
 * Warning: This also hides the private browsing indicator in private windows.
 * If you are using it, you might wanna enable the next feature too. Also you
 * should move the new tab button somewhere else for this to work, because by
 * default it is on the tab bar too. */
@import "ui/hide-single-tab.css"; /**/

/* Replace the private browsing indicator with a colored URL bar */
@import "ui/private-urlbar.css"; /**/

/* Limit the URL bar's autocompletion popup's width to the URL bar's width */
@import "ui/matching-autocomplete-width.css"; /**/

/* Make all tab icons look kinda like symbolic icons */
@import "ui/symbolic-tab-icons.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, so you can move
 * your configuration to that file if you don't like setting it up after every
 * update. You can also apply your own custom styles in that file. */
@import "customChrome.css"; /**/

Location bar hidden in fullscreen (F11) mode when mouse hovered over

Only the tab bar reappears on mouse hover. This is how my customChrome.css looks like.

@import "ui/gnome-3.26-light.css"; /**/
@import "ui/experimental-auto-csd.css"; /**/
@import "ui/private-urlbar.css"; /**/

I am right now on ArchLinux with KDE Plasma 5.12.5, with Firefox 60.0.1

Optionally hide tabs when only one open

The following works for me (the new tab button needs to be moved to the main toolbar via FF's customise UI):

#tabbrowser-tabs, #tabbrowser-tabs arrowscrollbox { min-height: initial !important; height: initial !important; }
#tabbrowser-tabs tab { height: 38px; }
#tabbrowser-tabs tab:only-of-type { display: none !important; }
#TabsToolbar .private-browsing-indicator {
    display: none !important;
}

This unfortunately conflicts with using a private browsing indicator on the tab bar; the following replicates the darker private browsing header bar from Web instead:

:root[privatebrowsingmode="temporary"] {
	--gnome-headerbar-bgimage: linear-gradient(to top, #adb8c3, #cbd2d9 3px, #cbd2d9);
	--gnome-headerbar-border-bottom: 1px solid #909fae;
	--gnome-headerbar-box-shadow: none;
	--gnome-headerbar-button-bgimage: linear-gradient(to bottom, #cad1d8, #bfc9d0 60%, #b0bbc5);
	--gnome-headerbar-button-border: 1px solid #909fae;
	--gnome-headerbar-button-border-bottom: 1px solid #758899;
	--gnome-headerbar-button-box-shadow: inset 0 1px #eaedf0;
	--gnome-headerbar-button-hover-bgimage: linear-gradient(to bottom, #dee2e7, #ccd3d9 60%, #bfc8d0);
	--gnome-headerbar-button-active-bgimage: #b9c3cc;
	--gnome-headerbar-button-disabled-bgcolor: #d3d9df;
	--gnome-headerbar-button-disabled-border-bottom: var(--gnome-headerbar-button-border);
	--gnome-headerbar-button-disabled-box-shadow: none;
	--gnome-inactive-headerbar-bgimage: var(--gnome-headerbar-bgimage);
	--gnome-inactive-headerbar-border-bottom: var(--gnome-headerbar-border-bottom);
	--gnome-inactive-headerbar-box-shadow: var(--gnome-headerbar-box-shadow);
	--gnome-inactive-headerbar-button-bgimage: var(--gnome-headerbar-button-disabled-bgcolor);
	--gnome-inactive-headerbar-button-border: 1px solid rgb(168, 168, 168);
	--gnome-inactive-headerbar-button-border-bottom: var(--gnome-headerbar-button-border);
	--gnome-inactive-headerbar-button-box-shadow: var(--gnome-headerbar-button-disabled-box-shadow);
	--gnome-inactive-headerbar-button-disabled-bgcolor: var(--gnome-headerbar-button-disabled-bgcolor);
	--gnome-inactive-headerbar-button-disabled-box-shadow: var(--gnome-headerbar-button-disabled-box-shadow);
	--gnome-urlbar-border: 1px solid #909fae;
	--gnome-urlbar-box-shadow: none;
	--gnome-inactive-urlbar-box-shadow: var(--gnome-urlbar-box-shadow);
}
:root {
	--gnome-headerbar-button-disabled-border-bottom: var(--gnome-headerbar-button-border);
}
#nav-bar toolbarbutton.chromeclass-toolbar-additional[disabled],
#nav-bar toolbarbutton.toolbarbutton-combined[disabled],
#nav-bar #reload-button[disabled],
#nav-bar #stop-button[disabled],
#PanelUI-menu-button[disabled] {
	border-bottom: var(--gnome-headerbar-button-disabled-border-bottom) !important;
}

EDIT: handled private browsing mask indicator preventing tab bar hiding.

EDIT 2: added complete CSS for dark grey header bar (Web uses the same private browsing colour even with "Global Dark Theme"). Only issue with the above is I didn't figure out how to style the top window border so far - it remains light grey (which is a problem I also see with the dark variant of this Firefox theme).

EDIT 3: fixed referencing new var globally, but only specifying it for private browsing :root.

Constrain URL bar drop-down width

At the moment the drop-down occupies the entire screen width, covering up tabs, despite its actual text contents being constrained to the width of the URL bar.

Instead the drop-down should be the same width as the URL bar (see Web for GNOME design precedent).

Support light theme

Hi! Great job you've done so far!
Many thanks, I'll try this one out later, so please keep on coding.

One question: would it be possible to support a light (like adwaita) variant?
I could even help in modifying your theme to support both (if you wish).

greets.

Fullscreen bugs

When fullscreen,

  • Windows controls appear in the bottom bar
  • With the titlebar removed, there's a weird space left.

Screenshot-20190313182715-1280x1024

Discontinue parts of the project

It seems that the project is missing people to work on it and as such, it seems that to keep the codebase working, it might be better to discontinue parts of it

Such as :

  • Elementary CSD
  • Gnome 3.16
  • Gnome 3.26 (After 3.32 is released)
  • Support for Firefox below 60 since that's the new ESR (and perhaps we should only support the latest firefox version, really)

HiDPI support for some icons

I am using this theme with a 4K display with scaling set to 200%, and some of the icons in the title bar appear blurrier than their regular GNOME counterparts.

Firefox 60.0.1 with latest firefox-gnome-theme (3.26 light variant):
minimize, maximize, close (Firefox)
back/forward (Firefox)
close tab (Firefox)

GNOME (in this case, Files):
minimize, maximize, close (GNOME)
back/forward (GNOME)
close tab (GNOME)

Icons that are provided by Firefox itself (bookmarks menu, reload, overflow menu, etc.) look fine, so I'm assuming it's an issue with the theme alone.
Note that the minimize, maximize, close button issue only applies to CSD being enabled, since with it disabled those buttons are rendered by GNOME as part of the title bar. The back/forward buttons appear the same regardless of CSD being on or not.

Perhaps some alternate icons for those with HiDPI displays could be added?

Tab drag and drop collapses height

When dragging tabs to re-order, all tabs โ€” the active being dragged as well as the inactive tabs in the tab strip โ€” collapse their height to the label.

Automatically select dark or light theme

Instead of editing the CSS to add an include, automatically select the dark or light theme.

It can probably be keyed based on the window element with a specific attribute like:

window[lwthemetextcolor="bright"]

...for dark mode

and

window:not([lwthemetextcolor="bright"])

...for light mode.

There might need to be more matches; I didn't test this for native light/dark themes, only the switch in customize.

Doesn't work at all with CSDs on Firefox 65

I'm running Firefox 65.0 on Arch Linux. If I have the Firefox titlebar enabled, then it works fine. However, if I disable the titlebar in order to have the CSD approach, I end up with this:

screenshot from 2019-02-12 20-22-18

As you can see, I have a completely blank headerbar. This happens if I uncomment either the @import "ui/experimental-auto-csd.css"; or @import "ui/csd.css"; line in userChrome.css.

I've also tried the fork by @rafaelmardojai and I have exactly the same issue there.

Screenshot mode is broken

Using the (new to Quantum, aka 57+) screenshot tool from the awesomebar (icon in the URL bar, or in its overflow menu) causes the page to turn completely black, making precise selection of screenshots impossible.

Selecting the screenshot feature

firefox-screenshot-menu

Black background

(In this screenshot, the grey rectangle is the element which the screenshot would be cropped to.)

firefox-screenshot-dark

Correct implementation

The correct implementation has a greyed out background for the out of bounds area and the selected area shows up without a screen. (I'll have to remove the theme and restart Firefox to get a screenshot of the screenshot tool in action.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.