numixproject / numix-gtk-theme

A modern flat theme with a combination of light and dark elements.
GNU General Public License v3.0
1.19k stars 228 forks source link

GTK 3.20 :: Nautilus and gedit :: two white pixels on the top corners of the path/toolbar #624

Closed Sadi58 closed 7 years ago

Sadi58 commented 7 years ago

I see two white pixels between the left and right edges of titlebar and path/toolbar in Nautilus and gedit. I suspect this might be a result of round top corners of Gnome-style header bar (which doesn't have a titlebar, as seen when Nautilus and gedit are started with commands sudo nautilus and sudo gedit. screenshot from 2016-10-31 10-15-49 I've spent some time to clarify this issue, checking with about a dozen most frequently used apps, and also comparing with Ubuntu's default Ambiance theme: It only occurs in Nautilus and gedit, and the Ambiance theme doesn't have it. So, it's probably a Numix bug. But there's also this weird thing that after switching from Ambiance to Numix, I don't see those two white pixels for some time (even after entering terminal command "nautilus -q") until I restart Unity with terminal command "unity" or the usual computer restart command. Even then sometimes gedit window doesn't show it (as seen above) while Nautilus does. Perhaps this is because some Numix coding styled different for Nautilus and gedit. Perhaps gedit is only affected when I choose the oomox-numix customized version theme and I'm just confusing the two...

megax commented 7 years ago

Fixed commit: https://github.com/numixproject/numix-gtk-theme/commit/a457b8fd5bc04d3778bb676277b55338f3ac652c Please test master repo code.

image

Sadi58 commented 7 years ago

Interesting... I compile like that from git repo; no difference. Even when I add the following section to ~/.config/gtk-3.0/gtk.css; no difference again.

@include exports("toolbar") {
    .background:not(.csd):not(.ssd):not(.solid-csd) headerbar {
        &, &:backdrop {
            &, &:not(:last-child) {
                border-radius: 0;
                border-top-color: transparent;
            }
        }
    }
}

I still see it in Nautilus, but not in gedit. I switch to Ambiance; it disappears; I switch back to Numix; it reappears. I then do nautilus -q to restart Nautilus; and I don't see it (at least until Unity is restarted)...

megax commented 7 years ago

@Sadi58 I'm sorry but it won't be better than this. I'm above 10 hours with tests and it's impossible to write it perfectly. The current version works perfectly on all platforms except unity and there is no bug. Please report this to the unity developers. This appears to be a unity bug. It's buggy on all themes. You can try arc-theme, but as far as i know, the bug exists with that too. In other words, currently it works under cinnamon, gnome-shell and unity with ubuntu gtk 3.20. It's a specific problem on your computer.

For the last resort, first delete both the distro repo version, and the one installed from git, and install from git again. (Making sure only the new files exists in the filesystem).

P.S.: Ambience's code is a piece of shit, made for unity. Please do not take it as something to compare to, in other places it falls apart. :)

anim

Sadi58 commented 7 years ago

@megax I fully understand you. Thanks for all that info and the tip. I also entirely agree with you regarding the current buggy state of unity7, and the ambiance theme ;-) BTW I've just tested Vertex from git repository as well: It displays only one white pixel in nautilus (on the right), and two white pixels in gedit -- what a mess... I give up ;-) Adding this to login startup scripts as the final step the close this ;-)

gsettings set org.gnome.desktop.interface gtk-theme "Ambiance"
nautilus -q
gsettings set org.gnome.desktop.interface gtk-theme "Numix"
khurshid-alam commented 7 years ago

The white dot is probably the nautilus bug where nautilus where nautilus desktop window overwrites. Unity should draw the desktop first and then enable compositing. It is a old bug.