Freshrss: Is there a way to pin the side bar?

Created on 11 Aug 2018  路  20Comments  路  Source: FreshRSS/FreshRSS

Is there a way to pin the side bar with the feeds so it doesn't jump up and down when you switch feed like Feedly does?

UI Vote to close help wanted

All 20 comments

It's not really clear to me what you mean.

In Normal View if you click on a Feed on the left, then scroll down through the Articles the top bar with the FreshRSS logo and Search box will scroll off the top of the screen. When you click on another Feed that top bar or header will re-appear. I expect it is because the link triggers a full page refresh with a /i/?get= url. The right side bar with the Feeds then effectively jumps to the new position and makes me feel a bit sea-sick. ;)

Looking more carefully at Feedly it has a fixed side bar on the left with the Feeds that you can toggle hide/show. The header with the search box is part of the pane with the articles so only that scrolls off the top of the screen but the left Feeds side bar stays in the same position.

It might need a fair bit of work to do it but I wondered if someone has tried already.

You could add a JS that adds the is_stuck class to tree.

These extensions are brilliant for easily playing around with superficial details like that. :-)

https://github.com/FreshRSS/Extensions/tree/master/xExtension-CustomCSS
https://github.com/FreshRSS/Extensions/tree/master/xExtension-CustomJS

Thanks. I've managed to install the extensions and set the permissions.
What should the javascript be to add is_stuck to tree? I'm not that great at javascript.

I had a look through http://leafo.net/sticky-kit/ and it looks like it will need something more to fix the aside_feed to the top left corner of the viewport to make it stay still. I tried adding a "position: fixed" but the #stream section gets pushed to the left under the aside_feed. css is tricky.

The FixedNavMenu extension looks like it might have some clues of how to do it. It just fixes the top nav menu though. https://github.com/oyox/FreshRSS-extensions/tree/master/xExtension-FixedNavMenu

Okay, I guess I really don't understand what you want. I thought you just wanted to do https://github.com/FreshRSS/FreshRSS/commit/a180485f9146f22d48470f3ba541317dbc2ee076 on page load.

I'm trying to make it like Feedly so there are basically two columns that scroll independently. The grey feeds side bar on the left and the articles on the right in this picture.
feedly

The way FreshRSS is at the moment is like the first example here where there is a header above the left feeds side bar. http://leafo.net/sticky-kit/

The problem is when you have scrolled down and click on a new Feed the header returns and makes the side bar jump to the original layout. It is quite jarring. If the Feeds side bar was fixed to the left it wouldn't be so much of a sudden transition. It would be even better if it were some kind of ajax single page app load of the new feed content but I appreciate that FreshRSS was started a while ago with php.

It's one of those little things that once you notice it it gets annoying when you know it could be done better.

What if you make those links go to #mark-read-aside (or something like that)?

Thanks. I know you can do a lot with css to move things around but I think the solution would need quite a bit of support in the app logic to scroll the tree back to where it was before you clicked on a new Feed. I tried moving a few things around in the app layout folder for the aside_feed but it also needs some work with the javascript and css. I'll have another go some time when I have more energy unless someone with better web skills than me works out how to do it first.

I've got something working if anyone comes across this thread and wants the aside_feed to stay in the same top left position when you click on a new feed.
https://github.com/primaeval/FreshRSS/commit/187e8fef500874cbf456bbb1d05d41433b046d7e

It only fully works for the BlueLagoon theme as of the above commit but all it needs is a single padding removal in other themes.

@primaeval I'm working on something for this. Hopefully I'll have time to finish work on it in the next couple days and can submit a PR.

Thanks. The fix I use (https://github.com/primaeval/FreshRSS/commit/187e8fef500874cbf456bbb1d05d41433b046d7e) still scrolls if there are more feeds in a folder than the size of the window. That would need some clever persistence logic to keep the scroll position the same. The alternative is to inject the new page into the old one like a single page app but that needs a fundamental change in the way FreshRSS is structured. Good Luck.

That second is the approach I'm taking; it actually doesn't appear to need a change in structure. So far I've got partial reloads working for just the stream; I need to update the title for unread articles on a partial reload before I can start testing things all around and cleaning up the code to do a PR.

Even though it doesn't require a major change to the structure of FreshRSS, it is a big enough change in functionality that it might be better suited to an extension instead of core functionality, but we'll see.

@pattems That sounds good 馃檪
Just a heads up, I have made some significant changes in https://github.com/FreshRSS/FreshRSS/pull/2199 , which would be nice to use as the base branch to avoid a big merge conflict 馃
As I would first like to release a minor version 1.13.1 (from the current /dev) and wait for 1.14.0 for those big changes, I could start a branch for 1.14.0 if that helps

If it was me, I'd be inclined to create a branch for 1.13.1 and leave the current /dev for the next major revision, since contributors expect to do PR's from /dev for the next major revision. Just my 2 cents... but in any case, having separate branches for 1.13.1 and 1.14.0 sounds like a good idea to me.

@pattems Here we are: https://github.com/FreshRSS/FreshRSS/tree/dev-1.14.0 (I would like to keep the flow of merging directly from /dev to /master)

Did I miss something or this issue is resolved?

Does the Sticky Feeds extension resolve that issue? If it does, I think we should close that issue

@oupala You are right, and @aledeg , we have that natively now :-)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

eminphi picture eminphi  路  5Comments

Sp3r4z picture Sp3r4z  路  4Comments

Alkarex picture Alkarex  路  5Comments

Stegemueller picture Stegemueller  路  3Comments

Tealk picture Tealk  路  5Comments