This functionality is now part of Discourse core. Use the ‘page loading indicator’ setting to enable it. More details below.
This theme component removes the core Discourse loading spinner, and replaces it with a loading slider at the top of the screen. This is a common approach on other sites (e.g. GitHub). The advantage is that there is less ‘flickering’ of content during a page change. Potential disadvantage is that it makes Discourse feel less like an app and more like a webpage.
I preferred the spinner, though to be honest I hadn’t really been aware of it. I like the way it is there for a split second then the page appears suddenly. This seems fast. With the bar, it makes me more aware of waiting. I found myself still looking at it when otherwise I could have started reading the page.
It might be some improvement if it “ended” at an earlier stage of page loading.
Or if you want to move away from the old spinner what about a new spinner that is like a circular version of the bar - reaching 360 degrees just before it disappears?
This was exposing a few different rendering bugs (e.g. navigating directly from one topic to another would cause issues displaying the OP). Removed from Meta for now, but you can still try it out using the theme creator link in the OP
I like it very much, even if customized spinners won’t show up most of the time.
One issue though. The loading bar isn’t used when you reload the topic or topic list you’re on.
If you’re on meta home, click on the logo, and you’ll see the spinner instead of the bar.