-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Developing v0.9.0 (Rewriting the app in ratatui) #220
Comments
Why the switch? I found your project through the cursive's showcase section. I'm starting my own tui now so I'd like to know. |
Mainly because of the lack of configuration cursive gives us to programmatically modify the look of certain UI components. For example, we cannot change the color of the border around views and changing predefined keybindings across the app is tedious. If you're unsure about what library to use, I can recommend reading the comparison page from the cursive wiki, because the libraries focus on different key aspects. If you want to have a more complex ui with deeply nested view trees and popup windows, and are fine with the sane defaults cursive sets, I would recommend cursive over ratatui (formerly tui-rs). |
@Builditluc Long time, no see 😃 I've just came by to check on the progress and saw the recent commits. Are you getting closer now? Looks like it will be loaded with new features, configurable looks ... Looking forward to take it for a spin. Regards |
Hey @0323pin! Yes I'm getting closer. The app should now have all of the features it had before (and a few new ones). Originally, I wanted to rewrite the app and release a new version before working on new things, but now I'm developing a few new features before releasing. I didn't have a lot of time generally for programming the last few months (did my finals, etc.) so most of work you see was done in the last few weeks, as I now have a lot more time. If you want, I'll notify you when the version is almost done (when all of the features are there and the polishing begins), so you can try it out! I would appreciate any feedback from your side! fyi, a bit more about the UI
I'm currently working on improving the UI for searches. The plan is to have it working like the search on the fandom.com site (wikipedia works also that way, but for the example I'm using fandom). For example, when searching initially it recommends articles based on your query and immediately opens the page when your query matches something. (like this) If it didn't find anything or you want to see |
Sure, bring it on. I'm all in for testing. |
@Builditluc How is it going? Hopefully getting there. Just to let you know that the latest published release fails to build with Rust > 1.79 because of the
Regards |
Hey @0323pin, please excuse my delayed response. |
you are forgiven 🤣
That's good but, it doesn't fix the broken builds. I'm hopeful that a new release will happen before end of December, cause than, stable 2024-Q4 will also be fine. Regards |
@Builditluc Trying the new 0.9.0-pre 😃 How to scroll down? |
I will try my best to release a new version before the end of December! The rewrite should already be feature complete (except for the configuration, I still haven't tackled how the configuration show look, structure and feature wise. Maybe you have some suggestions?). The part where the most work is needed is for bug-testing/fixing and the documentation (changelog, website updates, etc.). I would be very grateful for any bug-reporting for things I've missed re-implementing (like pagedown/up) or that are broken (I have written my own event system and since I've never done that before, there are bound to be some bugs in there). |
The basic vim keys ( EDIT: Also |
Thank you! I should have looked for it and fix that.
I can package an alpha or, beta if, that's an option. Don't want to force a release before it's ready.
Actually, I was pretty happy with the available configuration options on the old 0.8.x release series.
I can rebuild from HEAD tomorrow and test it. Will report issues as they come-up. |
Yes you're right.
Thank you, I'm currently working on documenting all of the things I've changed/added |
@Builditluc Let me know if you would prefer to start a new issue to discuss found bugs/issues on a new thread. New build from 50a34cc Starting the TUI without a theme file shows the following: which, is fine. The problem is, if one presses ESC to Dismiss the information, the search field becomes inactive and searches are not possible. I've tried to with TAB to change focus but nothing happen. If I search first and dismiss afterwards, things work as expected.
h: seems to do nothing ctrl+d and ctrl+u: work as expected I've added a package to our Work-In-Progress repo so that I can easily rebuild when you push changes by simply change the commit tag and regen the checksums. This, of course, makes it possible for anyone with access to build and install a package. Let me know if you don't want this and I can move it away to a private repo. |
Yes that makes more sense. I'll create the new issue for bugs/issues in a moment (EDIT: #234).
That's weird, I checked the code and found a little bug with the ordering of handling the key_events recieved. Basically, the issue was here: Lines 91 to 100 in 50a34cc
The key events of any active popups should be handled first (not second) (EDIT: should be fixed in 6c5d0b0). You can enter the search-bar with What do you think about adding little key-hints to the bottom of the borders (not only for the searchbar, but for example also for the toc)?
Yes thats the logger, you can change the logging level by setting the For movement inside of an article
That's fine by me, thanks for the information tho! |
Yeah you're right, it does get confusing if you're reading. We can change the background color for the info (maybe create a new theme item, called |
Thanks for 6c5d0b0, it does fix the issue I was having.
Yeah, I remember this, always set it to error, so it wouldn't generate too much noise. Quoting myself,
I was laying 🤣 But, I guess this setting can be override on a |
Yes, for the configuration of the keybindings, I found the old scheme (have multiple actions that can be reassigned) quite good, so I'm thinking of just re-implementing this. |
Sounds like a good idea. Why re-inventing the wheel. |
Now we are moving fast 😀 I'll be away until Thursday but, I might still have time to pull in these latest changes. |
Forgot to answer this. Yes, why not or, maybe pressing '?' or, 'ctrl + h' could show default bindings. |
Pushed 47aadfa which implements the toc config options. Documentation on these options is already live and can be found here: https://wiki-tui.net/dev/configuration/page/#table-of-contents-configuration Also something interesting to note: This is how the warning looks in the logs when you get something wrong in the configuration |
Great progress, I should be able to re-build by Friday. Away on a work trip this week, sorry. |
No problem, I'll implement what I can this week (#233 and the configuration of keybindings are a priority for me) |
Thanks! The keybindings would be awesome. As for #233, why picking |
I believe the border was for illustrating the padding. Such a zen-mode or settings for it could also include setting a max-width for the article, allowing you to read comfortably without having to adjust the terminal |
Maybe you are right.
Yeah, why not? I have a rather small screen and use a tiling wm, so if it gets annoying, I just send the window to its own work space and have it in full screen mode. |
Pushed multiple commits adding a zen-mode and padding configuration options. The documentation for the zen-mode options can be found here: https://wiki-tui.net/dev/configuration/page/#zen-mode |
Nice 👍 I've just touched the ground after my working travel. So, is it just keyboard shortcuts configuration missing now? |
Great!
I think so, if we don't add any new features at least. EDIT: Almost forgot. I still need to implement showing unsupported elements in the page. Also we have several issues that I'd like to be implemented/resolved before releasing (#228, maybe #229, #230) |
@Builditluc I couldn't resist 😄
All looks good. |
Pushed d713a9d which adds size constraints for the content in zen-mode. Documentation for the feature is also live at: https://wiki-tui.net/develop/configuration/page/#changing-the-size-of-the-content-in-zen-mode |
Everything working great 👍 |
Pushed 0c11c2d implementing configuration options for the global keybindings. Please excuse me taking so long, it was a journey trying to get the configuration schema the way I want. Documentation for the global keybindings is also live at: https://wiki-tui.net/develop/configuration/keybindings/ |
With the new commits, all the keybindings should be configurable now (and documented). Now the only thing still keeping us from release is an update of the website (redoing pictures, removing the notice of the rewrite, etc.) I also need to re-implement the logging and api configuration options (maybe I can implement some more). |
Looking good! What do you think, should configuration options for that also be in this release or should we do this in the next one? |
Personally, I'm happy but you're the boss here. Maybe leave it for 0.9.1? The changes are already quite large. If I would have to pick one it would be to be able to configure the border of the search bar. Or, is this already possible and I've just missed it? |
No, it's currently not possible. Yes, I also think it makes more sense to leave these options for the next version |
One thing, if possible. I would like us (NetBSD) to ship a working binary on the next stable branch, which is currently not the case as, 0.8.2 doesn't build with Rust > 1.79 Is it reasonable to believe this is possible? I mean, a release before Christmas? If not, I understand it, no rush. |
I'm currently working on implementing api configuration options and then we just need to update the website. I'm aiming for a new release either this or next week (then we have enough time to test and fix bug reports before the NetBSD release cycle) |
Thanks! |
Just for info: |
With 10b6243 all of the api configuration settings are implemented. I'll now go ahead and update the rest of the website (and readme) for the new version and take one more look over the code to see if I spot anything obvious |
@Builditluc Just updated my local copy to the latest commit. Let the testing begin :) |
This issue tracks the development and discussion of
v0.9.0
. For discussing/submitting bugs in the development version, please see #234.I'm planning to get the version released before the end of december. Currently, the most work is needed in bug-testing (and subsequent fixing) and writing the documentation for the new version (changelog, migration guide from 0.8.x, documenting the changes, etc.).
The documentation (in its current state) for
v0.9.0-pre
can be viewed here: https://wiki-tui.net/develop/So please feel free to try out the dev version and report any bugs you find.
The text was updated successfully, but these errors were encountered: