Yaru: Process-working spinners across the desktop - from the boot to shell to the application

Created on 18 Feb 2020  路  28Comments  路  Source: ubuntu/yaru

Not sure if we want this, but we can investigate .

Vanilla style GTK spinner NOT the wait mouse cursor (for now)

GNOME-shell gtk3 icon theme

Most helpful comment

So the spinner in the shell is loaded via an hardcoded value as per let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');

I can see if we can instead check if a themed file exists first, however probably the nicest solution would be loading a gnome-shell-theme.gresource if we've one provided by the theme, allowing yaru to override everything.

This would probably improve also performances... We'd need to do this only for ubuntu though, so maybe yaru should provide a flag not to use gresources at compile time so that other distros may just install it as it is now.

PS: I hate upstream spinner, so place make it nicer :joy:

All 28 comments

To be honest, I don't think that this would be smart in the current situation. As we still already have three spinners:

  • the gtk spinner
  • the mouse spinner
  • the shell spinner

With the shell spinner still _not_ synced with the gtk spinner.

Adding yet a another spinner as the gtk spinner would make this widget totally inconsistent, even if the meaning is almost the same.

WDYT @madsrh @clobrano @ubuntujaggers ?

Edit: and there is a fourth spinner now! The boot screen spinner

There's a boot screen spinner?

I'm fine close this issue.

I am even thinking of reverting all the spinners to the upstream ones if we don't manage to sync the shell spinner with gtk

I need to post screenshots to show you what I mean. Maybe tomorrow

Screenshots would be great

Boot spinner - we have no control here:

boot_spinner

UPSTREAM shell spinner in the login screen gnome shell - we have no control here:

login_spinner

Again the UPSTREAM gnome shell spinner seen in the top panel - we have no control here:
EDIT: it looks like we have control, see comment below
Bildschirmfoto von 2020-02-22 07-57-53

Yaru mousepointer spinner + gtk spinner - we have full control here:
Bildschirmfoto von 2020-02-22 07-57-20
image

IMHO @3v1n0, if we do not have any idea how we can get the shell spinner into the top panel, I would recommend of dropping the yaru gtk spinner or in detail to replace it with the adwaita gtk spinner, which looks like the shell spinner.

The login screen spinner ALMOST looks like upstream. I tried to talk to @vanvugt about this on the hub but it looks like I did not manage to elaborate the problem. I hope these screenshots help

Okay, we might have control over the spinner if we find a way to change the gresource, because this one is not loaded from within the CSS:

https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/ui/animation.js#L154

we need to change every spinner in this file in yaru ...
https://github.com/ubuntu/yaru/blob/master/gnome-shell/src/process-working.svg

.. with this spinner: https://assets.ubuntu.com/v1/65b70b84-spinner-dark-grey.svg

@ubuntujaggers do you think you could look into this?

It looks like this "g-resource" is not loaded from the yaru source folder into the shell. It looks like the upstream spinner is taken, even if I remove the file from our repository, build and restart the shell

Does anyone know how to use our gresources from within the shell theme?
@3v1n0 @didrocks @vanvugt ?

Please change the blue to a standard Ubuntu color. Orange or purple

It looks like this "g-resource" is not loaded from the yaru source folder into the shell. It looks like the upstream spinner is taken, even if I remove the file from our repository, build and restart the shell

If I鈥檓 correct, the Shell implementation doesn鈥檛 allow loading theme-related ressources when you point it to another theme than the default one. (it will look for its assets to a different place)

It looks like this "g-resource" is not loaded from the yaru source folder into the shell. It looks like the upstream spinner is taken, even if I remove the file from our repository, build and restart the shell

If I鈥檓 correct, the Shell implementation doesn鈥檛 allow loading theme-related ressources when you point it to another theme than the default one. (it will look for its assets to a different place)

Okay - then we have currently a hodge podge, because most of the assets, like sliders, checkboxes and keyboard assets (already removed upstream, pulling this soon) are loaded via
url(my-asset)
But some assets are loaded as a gresource like the new bell asset 馃敃
like
url(resource://gnom/bla/blub)
and some assets are not accessible via the theme
, like the new 馃憗 asset

So, if I understoof this correctly, there is no way within our theme to get our spinner in, right? Other than distro patching? @didrocks
If this is the case, @clobrano @madsrh , I would like to prepare to adjust the gtk spinner to the upstream shell spinner

I would let Trevhino would is more familiar with the code recently than I answering (also, it鈥檚 FF rush :p)

@madsrh @clobrano @ubuntujaggers

Tried the vanilla waiting cursor :eye:

I am not impressed:
image
This looks okay.. but when you zoom out

image

You can't see it anymore.

WHen https://github.com/ubuntu/yaru/pull/2003 lands the inconsistency would be reduced a between shell and gtk. The current three folded waiting cursor somehow looks like a super-form of process-working which is cool.
Shall we just keep it and close this?

Let's keep the suru spinner 馃憤

Don't forget to change the color . lol

So the spinner in the shell is loaded via an hardcoded value as per let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/process-working.svg');

I can see if we can instead check if a themed file exists first, however probably the nicest solution would be loading a gnome-shell-theme.gresource if we've one provided by the theme, allowing yaru to override everything.

This would probably improve also performances... We'd need to do this only for ubuntu though, so maybe yaru should provide a flag not to use gresources at compile time so that other distros may just install it as it is now.

PS: I hate upstream spinner, so place make it nicer :joy:

Hey if you see a realistic chance to get this into 20.04. everyone here would love it

Here is the yaru spinner https://github.com/ubuntu/yaru/blob/master/gnome-shell/src/process-working.svg

I guess we would need to rename it and DOUBLE check that SVG, because I've done it, and not @ubuntujaggers :) (I often have errors in my svgs)
image

Assets we currently use in the shell where I needed to create diff (in terms of background-image: url("resource:///org/gnome/shell/theme/key-shift.svg") --> background-image: url("key-shift.svg") against upstream themes are:

  • switches (purple, upstream has blue)
  • checkboxes
  • Keyboard assets (those are soon none-exsistent as it is in gnome shell master now and as soon as you include that JS in your ubuntu gnome shell package we can align the theme to it)

Assets we have in the yaru directory but we can't load from within the theme:

  • the login entry 馃憗 assets (2) (no yaru version yet, but Stuart can easily change this)
  • the process-working spinner (a yaru version availibe that needs testing)

Added a new Yaru spinner file in the shell: https://github.com/ubuntu/yaru/pull/2009

With the help of the Ubuntu desktop team we might have a chance to get it into the boot screen and into the shell top panel/GDM

@Feichtmeier Wouldn't it be better to put them in purple like progressbars or the other elements of the interface?

I would like to keep them blue as they are a different widget. It's okay that it stands out a little.

@Feichtmeier Wouldn't it be better to put them in purple like progressbars or the other elements of the interface?

I agree with you. Purple would look more Ubuntu.
聽聽聽Such cases could have a type of vote. lol

@Feichtmeier For me a spinner is a kind of indeterminate progressbar. I don't see why it would be in a different color... especially since the new theme eliminates the blue color :)

Because it drowns :swimming_man: , this tiny spit of blue is just the right about of freshness
image
It does not stand out enough, especially in the dark theme:
image

image
image

No it's not an indeterminate progress bar, it's a different widget. Also the mouse spinner is blue on white, which looks really great.

@Feichtmeier Maybe you are right. Aubergine may not be good here.

@Feichtmeier Maybe you are right. Aubergine may not be good here.

But Orange?

Orange is our colour for selecting things. The spinner is blue, it's the best colour for this widget. This is also not the topic of this issue, which is to bring the same spinner to all toolkits used in Ubuntu.

Orange is our colour for selecting things. The spinner is blue, it's the best colour for this widget. This is also not the topic of this issue, which is to bring the same spinner to all toolkits used in Ubuntu.

I'll have to agree with @Feichtmeier. You are welcome to create a separate issue to discuss this, but let's not discuss here 馃榾

Orange is our colour for selecting things. The spinner is blue, it's the best colour for this widget. This is also not the topic of this issue, which is to bring the same spinner to all toolkits used in Ubuntu.

I'll have to agree with @Feichtmeier. You are welcome to create a separate issue to discuss this, but let's not discuss here

Ok.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sicklylife-jp picture sicklylife-jp  路  3Comments

matthewpaulthomas picture matthewpaulthomas  路  3Comments

Feichtmeier picture Feichtmeier  路  3Comments

mivoligo picture mivoligo  路  3Comments

Muqtxdir picture Muqtxdir  路  3Comments